using UnityEngine.Events; namespace Syntriax.Modules.Movement.State { public class MemberToggleState : IToggleState { private bool _enabled = true; public bool Toggled { get => _enabled; set { bool isNewValue = _enabled != value; _enabled = value; if (isNewValue) OnToggleStateChanged.Invoke(value); } } public UnityEvent OnToggleStateChanged { get; protected set; } = new UnityEvent(); } }