private void ChangeNext() { if (Next == null) { return; } if (Next == Curr) { return; } Curr?.Invoke(StateMachineCase.Exit); Next?.Invoke(StateMachineCase.Enter); Prev = Curr; Curr = Next; Next = null; }
public void Exit() { Curr?.Invoke(StateMachineCase.Exit); Curr = Prev = Next = null; }
public void Update() { ChangeNext(); Curr?.Invoke(StateMachineCase.Exec); }