Exemple #1
0
        public IStateCreator <S, T, G> OnStateTerminated(StateMachineDelegate function)
        {
            if (LastCreatedState == null)
            {
                return(null);
            }

            LastCreatedState.OnStateTerminated += function;
            return(this);
        }
Exemple #2
0
        public ITransitionCreator <S, T, G> OnTransitionFinished(StateMachineDelegate function)
        {
            if (LastCreatedTransition == null)
            {
                return(null);
            }

            LastCreatedTransition.OnTransitionFinish += function;
            return(this);
        }
Exemple #3
0
 /// <summary>
 /// Adds new state to a state machine.
 /// </summary>
 public virtual void AddState(
     T stateKey,
     StateMachineDelegate <T> stateMethod,
     StateMachineDelegate <T> enterStateEvent = null,
     StateMachineDelegate <T> exitStateEvent  = null
     )
 {
     _states.Add(stateKey, stateMethod);
     if (enterStateEvent != null)
     {
         _enterStateEvents.Add(stateKey, enterStateEvent);
     }
     if (exitStateEvent != null)
     {
         _exitStateEvents.Add(stateKey, exitStateEvent);
     }
 }