/// <summary> /// Configure the state in the given state machine. /// </summary> /// <param name="stateMachine">The state machine.</param> public override void Configure(GameStateMachine stateMachine) { stateMachine.StateMachine.Configure("StateConfiguration") .OnEntry(OnEntry) .OnExit(OnExit) .Permit("TriggerStateIdle", "StateIdle"); }
/// <summary> /// Configure the state in the given state machine. /// </summary> /// <param name="stateMachine">The state machine.</param> public override void Configure(GameStateMachine stateMachine) { stateMachine.StateMachine.Configure("StatePayWin") .OnEntry(OnEntry) .OnExit(OnExit) .Permit("TriggerStateGameOver", "StateGameOver"); }
/// <summary> /// Configure the state in the given state machine. /// </summary> /// <param name="stateMachine">The state machine.</param> public override void Configure(GameStateMachine stateMachine) { stateMachine.StateMachine.Configure("StateEvaluate") .SubstateOf("StatePlay") .OnEntry(OnEntry) .OnExit(OnExit) .Permit("TriggerStatePayWin", "StatePayWin"); // Since we are a substate, we must Permit a transition to ourselves. stateMachine.StateMachine.Configure("StatePlay") .Permit("TriggerStateEvaluate", "StateEvaluate"); }
/// <summary> /// Configure all the slot states. /// </summary> /// <param name="stateMachine">The game state machine.</param> public override void ConfigureStates(GameStateMachine stateMachine) { // Base states must be initialized first. base.ConfigureStates(stateMachine); // Substates of StatePlay. stateBeginPlay = new StateBeginPlay(); stateBeginPlay.Configure(stateMachine); stateEvaluate = new StateEvaluate(); stateEvaluate.Configure(stateMachine); }
/// <summary> /// Configure all the game states. /// </summary> /// <param name="stateMachine">The game state machine.</param> public virtual void ConfigureStates(GameStateMachine stateMachine) { this.stateMachine = stateMachine; stateConfiguration = new StateConfiguration(); stateIdle = new StateIdle(); statePlay = new StatePlay(); statePayWin = new StatePayWin(); stateGameOver = new StateGameOver(); stateConfiguration.Configure(stateMachine); stateIdle.Configure(stateMachine); statePlay.Configure(stateMachine); statePayWin.Configure(stateMachine); stateGameOver.Configure(stateMachine); }
/// <summary> /// Configure the state in the given state machine. /// </summary> /// <param name="stateMachine">The state machine.</param> public override void Configure(GameStateMachine stateMachine) { // Configure this state to transition only to StateIdle. // Once we have transitioned to StateIdle, we will never // re-enter this state. stateMachine.StateMachine.Configure("StateUnknown") .Permit("TriggerStateConfiguration", "StateConfiguration"); }