private void MakeFSM() { mFSMSystem = new CitizenFSMSystem(); CitizenRunState runState = new CitizenRunState(mFSMSystem, this); runState.AddTransition(CitizenTransition.Trapped, CitizenStateID.Help); CitizenHelpState helpState = new CitizenHelpState(mFSMSystem, this); helpState.AddTransition(CitizenTransition.AirPlaneReached, CitizenStateID.Climb); CitizenClimbState climbState = new CitizenClimbState(mFSMSystem, this); climbState.AddTransition(CitizenTransition.Rescued, CitizenStateID.Disappear); CitizenDisappearState disappearState = new CitizenDisappearState(mFSMSystem, this); mFSMSystem.AddState(runState, helpState, climbState, disappearState); }
public CitizenDisappearState(CitizenFSMSystem fsm, ICharacter character) : base(fsm, character) { mStateID = CitizenStateID.Disappear; }
public ICitizenState(CitizenFSMSystem fsm, ICharacter character) { mFSMSystem = fsm; mCharacter = character; }
public CitizenClimbState(CitizenFSMSystem fsm, ICharacter character) : base(fsm, character) { mStateID = CitizenStateID.Climb; }
public CitizenRunState(CitizenFSMSystem fsm, ICharacter character) : base(fsm, character) { mStateID = CitizenStateID.Run; }
public CitizenHelpState(CitizenFSMSystem fsm, ICharacter character) : base(fsm, character) { mStateID = CitizenStateID.Help; }