Exemplo n.º 1
0
        public void Transition(ExplicitState toState)
        {
            if (CurrentState == toState)
            {
                return;
            }

            if (toState == null)
            {
                throw new ArgumentNullException("toState");
            }

            OnExitState();
            ExitState?.Invoke();
            CurrentState.OnExit();

            CurrentState = toState;

            OnEnterState();
            EnterState?.Invoke();
            CurrentState.OnEnter();
        }
Exemplo n.º 2
0
 public static void NotifyExitState(GameState state)
 {
     ExitState?.Invoke(state);
 }