private void SetupMainMenu(IStateMachine menu) { menu.AddState(new MenuItem("New Game")); menu.AddState(new MenuItem("Load Game")); menu.AddState(new MenuItem("Options")); menu.AddState(new MenuItem("Quit")); menu.GetState((int)MainMenuOptions.NewGame).Activate(); }
private void HandleStateMachineOutputActuator(IStateMachine stateMachine) { OnStateMachineStateChanged(stateMachine, stateMachine.GetState()); stateMachine.StateChanged += (s, e) => { OnStateMachineStateChanged(stateMachine, e.NewState); }; }
public static void SetNextState(this IStateMachine stateMachine) { if (stateMachine == null) { throw new ArgumentNullException(nameof(stateMachine)); } var activeStateId = stateMachine.GetState(); var nextStateId = stateMachine.GetNextState(activeStateId); stateMachine.SetState(nextStateId); }
public void LoadScene(int sceneId, Callback finishCallback = null) { DCopy db = ReadCfgCopy.GetDataById(sceneId); this.NextCopyType = db.CopyType; CommandLoadScene cmd = new CommandLoadScene(); cmd.SceneID = sceneId; SceneLoading s = (SceneLoading)mStateMachine.GetState(ECopyType.TYPE_LOAD); s.mCallback = finishCallback; ChangeState(ECopyType.TYPE_LOAD, cmd); }
public void ChangeState(FSMState fsm, ICommand ev) { if (mMachine == null || this.CacheTransform == null) { return; } if (FSM == FSMState.FSM_DEAD && fsm != FSMState.FSM_REBORN) { return; } if (!mMachine.Contains(fsm)) { return; } mMachine.GetState(fsm).SetCommand(ev); mMachine.ChangeState(fsm); }
public IState GetState(int index) { return(_stateMachine.GetState(index)); }
public IState GetState(int index) { return(_mainMenuStateMachine.GetState(index)); }