using Syntriax.Modules.ToggleState; using UnityEngine; namespace Syntriax.Modules.Action { public abstract class ActionBase : MonoBehaviour, IActionActivate { public IToggleState ToggleState { get; protected set; } = null; protected virtual void Awake() => ToggleState = new ToggleStateMember(true); protected abstract void OnActivated(); public virtual void Activate() { if (!ToggleState.IsToggledNullChecked()) return; OnActivated(); } } }