26 lines
603 B
C#
26 lines
603 B
C#
|
using UnityEngine;
|
||
|
using UnityEngine.Events;
|
||
|
|
||
|
namespace Syntriax.Modules.Movement.State
|
||
|
{
|
||
|
public class ToggleState : MonoBehaviour, IToggleState
|
||
|
{
|
||
|
private bool _enabled = true;
|
||
|
public bool Toggled
|
||
|
{
|
||
|
get => _enabled;
|
||
|
set
|
||
|
{
|
||
|
bool isNewValue = _enabled != value;
|
||
|
|
||
|
_enabled = value;
|
||
|
|
||
|
if (isNewValue)
|
||
|
OnToggleStateChanged.Invoke(value);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public UnityEvent<bool> OnToggleStateChanged { get; protected set; } = new UnityEvent<bool>();
|
||
|
}
|
||
|
}
|