Example #1
0
 internal StateMachine(State <TTrig, TName> startState, List <State <TTrig, TName> > allStates, string?name)
 {
     CurrentState  = startState;
     PreviousState = null;
     OnStateSet?.Invoke(PreviousState, CurrentState);
     StateMachineInfo = new StateMachineInfo <TTrig, TName>(allStates, startState, name);
 }
Example #2
0
 public void SetState()
 {
     if (!State)
     {
         State = true;
         OnStateSet?.Invoke(this, new EventArgs());
         if (parent != null)
         {
             parent.SetState();
         }
     }
 }
Example #3
0
 public void Restore(State <TTrig, TName> state)
 {
     PreviousState = CurrentState;
     CurrentState  = state;
     OnStateSet?.Invoke(PreviousState, CurrentState);
 }