public IStateCreator <S, T, G> OnStateTerminated(StateMachineDelegate function) { if (LastCreatedState == null) { return(null); } LastCreatedState.OnStateTerminated += function; return(this); }
public ITransitionCreator <S, T, G> OnTransitionFinished(StateMachineDelegate function) { if (LastCreatedTransition == null) { return(null); } LastCreatedTransition.OnTransitionFinish += function; return(this); }
/// <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); } }