BREAKING CHANGE: Toggle 0.2.0

This commit is contained in:
2023-03-20 22:39:21 +03:00
parent d11aab596d
commit 25be6929f2
6 changed files with 21 additions and 23 deletions

View File

@@ -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;
/// <inheritdoc/>
public abstract void ApplyMovement();
@@ -46,7 +44,7 @@ namespace Syntriax.Modules.Movement
protected virtual void Start()
{
toggleState = GetComponent<IToggleState>();
stateEnable = GetComponent<IStateEnable>();
movementController = GetComponent<IMovementController>();
movementController.OnMovementActivated += OnActivated;

View File

@@ -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
{
/// <summary>
/// Member <see cref="IToggleState"/> to switch on or off
/// Member <see cref="IStateEnable"/> to switch on or off
/// </summary>
IToggleState ToggleStateMember { get; }
IStateEnable StateEnableMember { get; }
/// <summary>
/// Currently active <see cref="IMovement"/>

View File

@@ -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<IMovement> Movements { get; protected set; } = new List<IMovement>(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<DefaultMovement>();
RecacheMovements();
toggleStateOnGameObject = GetComponent<IToggleState>();
stateEnableOnGameObject = GetComponent<IStateEnable>();
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);