private void MakeFSM() { mFSMSystem = new EnemyFSMSystem(); EnemyChaseState chaseState = new EnemyChaseState(mFSMSystem, this); chaseState.AddTrainsition(EnemyTransition.CanAttack, EnemyStateID.Attack); EnemyAttackState attackState = new EnemyAttackState(mFSMSystem, this); attackState.AddTrainsition(EnemyTransition.LostSoldier, EnemyStateID.Chase); mFSMSystem.AddState(chaseState, attackState); }
public EnemyChaseState(EnemyFSMSystem fsm, ICharacter character) : base(fsm, character) { mStateID = EnemyStateID.Chase; }
public IEnemyState(EnemyFSMSystem fsm, ICharacter character) { mFSM = fsm; mCharacter = character; }
public EnemyAttackState(EnemyFSMSystem fsm, ICharacter character) : base(fsm, character) { mStateID = EnemyStateID.Attack; mAttackTimer = mAttackTime; }