private void MakeFSM() { mFSMSystem = new FireMonsterFSMSystem(); FireMonsterChaseState chaseState = new FireMonsterChaseState(mFSMSystem, this); chaseState.AddTransition(FireMonsterTransition.CanAttack, FireMonsterStateID.Attack); FireMonsterAttackState attackState = new FireMonsterAttackState(mFSMSystem, this); attackState.AddTransition(FireMonsterTransition.Explode, FireMonsterStateID.Explode); FireMonsterExplodeState explodeState = new FireMonsterExplodeState(mFSMSystem, this); mFSMSystem.AddState(chaseState, attackState, explodeState); }
public FireMonsterChaseState(FireMonsterFSMSystem fsm, ICharacter character) : base(fsm, character) { mStateID = FireMonsterStateID.Chase; }
public FireMonsterExplodeState(FireMonsterFSMSystem fsm, ICharacter character) : base(fsm, character) { mStateID = FireMonsterStateID.Explode; }
public FireMonsterAttackState(FireMonsterFSMSystem fsm, ICharacter character) : base(fsm, character) { mStateID = FireMonsterStateID.Attack; }
public IFireMonsterState(FireMonsterFSMSystem fsm, ICharacter character) { mFSMSystem = fsm; mCharacter = character; }