示例#1
0
        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);
        }
示例#2
0
 public EnemyChaseState(EnemyFSMSystem fsm, ICharacter character) : base(fsm, character)
 {
     mStateID = EnemyStateID.Chase;
 }
示例#3
0
 public IEnemyState(EnemyFSMSystem fsm, ICharacter character)
 {
     mFSM       = fsm;
     mCharacter = character;
 }
示例#4
0
 public EnemyAttackState(EnemyFSMSystem fsm, ICharacter character) : base(fsm, character)
 {
     mStateID     = EnemyStateID.Attack;
     mAttackTimer = mAttackTime;
 }