using UOP1.StateMachine.ScriptableObjects; namespace UOP1.StateMachine { /// /// An object representing an action. /// public abstract class StateAction : IStateComponent { internal StateActionSO _originSO; /// /// Called every frame the is in a with this . /// public abstract void OnUpdate(); /// /// Awake is called when creating a new instance. Use this method to cache the components needed for the action. /// /// The this instance belongs to. public virtual void Awake(StateMachine stateMachine) { } public virtual void OnStateEnter() { } public virtual void OnStateExit() { } } }