diff --git a/Editor/DefinitionCreatorEditor.cs b/Editor/DefinitionCreatorEditor.cs index 2472678..4e49da0 100644 --- a/Editor/DefinitionCreatorEditor.cs +++ b/Editor/DefinitionCreatorEditor.cs @@ -99,7 +99,7 @@ namespace Syntriax.Modules.Movement.Editor movementDefinition.MonoBehaviours = new string[] { typeof(MovementController).FullName, - typeof(ToggleState.ToggleStateMonoBehaviour).FullName + typeof(State.StateEnableMonoBehaviour).FullName }; UpdateSerializedObject(); diff --git a/README.md b/README.md index a493a49..f524668 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Movement (Work In Progress) ## Dependencies -1. [ToggleState Module](https://git.syntriax.com/Syntriax/ToggleState) +1. [State Module](https://git.syntriax.com/Syntriax/State) 2. [Trigger Module](https://git.syntriax.com/Syntriax/Trigger) 3. [Factory Module](https://git.syntriax.com/Syntriax/Factory) @@ -32,7 +32,7 @@ Make sure to separately clone these modules along with this one too. #### Longer 1. Clone the module to a folder in your Assets folder -2. Add `ToggleStateMonoBehaviour` component to your Player `GameObject` +2. Add `StateEnableMonoBehaviour` component to your Player `GameObject` 3. Add `MovementController` component to your Player `GameObject` 4. Add `AirMovement1D` component to your Player `GameObject` 5. Add `GroundMovement1D` component to your Player `GameObject` (make sure it's bellow `AirMovement1D`) @@ -42,7 +42,7 @@ Make sure to separately clone these modules along with this one too. --- -This should give you a movement where you can disable the controller through the `IToggleState`, and you should be able to see a the movement changes when the character is not touching the ground. +This should give you a movement where you can disable the controller through the `IStateEnable`, and you should be able to see a the movement changes when the character is not touching the ground. You can add your own movement implementations with bases under the `Bases` folder, or straight up from the `IMovement` interface. diff --git a/Runtime/Bases/MovementBase.cs b/Runtime/Bases/MovementBase.cs index 6b88214..3419f9a 100644 --- a/Runtime/Bases/MovementBase.cs +++ b/Runtime/Bases/MovementBase.cs @@ -1,12 +1,12 @@ using System; -using Syntriax.Modules.ToggleState; +using Syntriax.Modules.State; using UnityEngine; namespace Syntriax.Modules.Movement { public abstract class MovementBase : MonoBehaviour, IMovement { - protected IToggleState toggleState = null; + protected IStateEnable stateEnable = null; protected IMovementController movementController = null; public float BaseSpeed { get; set; } = 1f; @@ -27,8 +27,6 @@ namespace Syntriax.Modules.Movement } } - public IToggleState ToggleState { get; protected set; } = null; - /// public abstract void ApplyMovement(); @@ -46,7 +44,7 @@ namespace Syntriax.Modules.Movement protected virtual void Start() { - toggleState = GetComponent(); + stateEnable = GetComponent(); movementController = GetComponent(); movementController.OnMovementActivated += OnActivated; diff --git a/Runtime/IMovementController.cs b/Runtime/IMovementController.cs index d72295b..a4d05f4 100644 --- a/Runtime/IMovementController.cs +++ b/Runtime/IMovementController.cs @@ -1,15 +1,15 @@ using System; using System.Collections.Generic; -using Syntriax.Modules.ToggleState; +using Syntriax.Modules.State; namespace Syntriax.Modules.Movement { public interface IMovementController { /// - /// Member to switch on or off + /// Member to switch on or off /// - IToggleState ToggleStateMember { get; } + IStateEnable StateEnableMember { get; } /// /// Currently active diff --git a/Runtime/MovementController.cs b/Runtime/MovementController.cs index e16f990..3c44f3a 100644 --- a/Runtime/MovementController.cs +++ b/Runtime/MovementController.cs @@ -1,6 +1,6 @@ using System; using System.Collections.Generic; -using Syntriax.Modules.ToggleState; +using Syntriax.Modules.State; using UnityEngine; namespace Syntriax.Modules.Movement @@ -31,13 +31,13 @@ namespace Syntriax.Modules.Movement } } - private bool areBothToggleStatesToggled => ToggleStateMember.IsToggledNullChecked() && toggleStateOnGameObject.IsToggledNullChecked(); + private bool areBothStateEnablesToggled => StateEnableMember.IsEnabledNullChecked() && stateEnableOnGameObject.IsEnabledNullChecked(); public List Movements { get; protected set; } = new List(32); - public IToggleState ToggleStateMember { get; protected set; } = new ToggleStateMember(true); + public IStateEnable StateEnableMember { get; protected set; } = new StateEnableMember(true); - protected IToggleState toggleStateOnGameObject = null; + protected IStateEnable stateEnableOnGameObject = null; protected virtual void Start() { @@ -45,16 +45,16 @@ namespace Syntriax.Modules.Movement gameObject.AddComponent(); RecacheMovements(); - toggleStateOnGameObject = GetComponent(); + stateEnableOnGameObject = GetComponent(); - toggleStateOnGameObject.OnToggleStateChanged += (_) => InvokeOnMoveAction(); - ToggleStateMember.OnToggleStateChanged += (_) => InvokeOnMoveAction(); + stateEnableOnGameObject.OnEnabledChanged += (_) => InvokeOnMoveAction(); + StateEnableMember.OnEnabledChanged += (_) => InvokeOnMoveAction(); OnMovementActivated += (newMovement) => newMovement.Move(lastMove); } protected virtual void FixedUpdate() { - if (!areBothToggleStatesToggled) + if (!areBothStateEnablesToggled) return; ActiveMovement?.ApplyMovement(); @@ -96,7 +96,7 @@ namespace Syntriax.Modules.Movement private void InvokeOnMoveAction() { - if (!areBothToggleStatesToggled) + if (!areBothStateEnablesToggled) return; OnMoveCalled?.Invoke(lastMove.x, lastMove.y, lastMove.z); diff --git a/package.json b/package.json index 887d512..8d1bca0 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "com.syntriax.movement", - "version": "0.1.4", + "version": "0.2.0", "displayName": "Movement Module", - "description": "Dependends On:\nhttps://git.syntriax.com/Syntriax/ToggleState.git\nhttps://git.syntriax.com/Syntriax/Trigger.git\nhttps://git.syntriax.com/Syntriax/Factory.git", + "description": "Dependends On:\nhttps://git.syntriax.com/Syntriax/State.git\nhttps://git.syntriax.com/Syntriax/Trigger.git\nhttps://git.syntriax.com/Syntriax/Factory.git", "unity": "2019.1", "documentationUrl": "https://git.syntriax.com/Syntriax/Movement.git", "keywords": ["Movement"],