private void MakeFSM() { mFSMSystem = new EliteMonsterFSMSystem(); EliteMonsterChaseState chaseState = new EliteMonsterChaseState(mFSMSystem, this); chaseState.AddTransition(EliteMonsterTransition.Waitting, EliteMonsterStateID.Stroll); chaseState.AddTransition(EliteMonsterTransition.Reached, EliteMonsterStateID.Holding); EliteMonsterStrollState idleState = new EliteMonsterStrollState(mFSMSystem, this); idleState.AddTransition(EliteMonsterTransition.SeaEnemy, EliteMonsterStateID.Chase); EliteMonsterHoldState holdState = new EliteMonsterHoldState(mFSMSystem, this); holdState.AddTransition(EliteMonsterTransition.HoldSuccess, EliteMonsterStateID.Success); holdState.AddTransition(EliteMonsterTransition.HoldFail, EliteMonsterStateID.Defeat); EliteMonsterSuccessState successState = new EliteMonsterSuccessState(mFSMSystem, this); EliteMonsterDefeatState defeatState = new EliteMonsterDefeatState(mFSMSystem, this); mFSMSystem.AddState(chaseState, idleState, holdState, successState, defeatState); }
public EliteMonsterHoldState(EliteMonsterFSMSystem fsm, ICharacter character) : base(fsm, character) { mStateID = EliteMonsterStateID.Holding; }
public EliteMonsterChaseState(EliteMonsterFSMSystem fsm, ICharacter character) : base(fsm, character) { mStateID = EliteMonsterStateID.Chase; }
public EliteMonsterSuccessState(EliteMonsterFSMSystem fsm, ICharacter character) : base(fsm, character) { mStateID = EliteMonsterStateID.Success; }
public IEliteMonsterState(EliteMonsterFSMSystem fsm, ICharacter character) { mFSMSystem = fsm; mCharacter = character; }
public EliteMonsterDefeatState(EliteMonsterFSMSystem fsm, ICharacter character) : base(fsm, character) { mStateID = EliteMonsterStateID.Defeat; }
public EliteMonsterStrollState(EliteMonsterFSMSystem fsm, ICharacter character) : base(fsm, character) { mStateID = EliteMonsterStateID.Stroll; }