private void MakeFSM() { mFSMSystem = new EnemyFSMSystem(); EnemyFSMState chaseState = new StateEnemyChase(mFSMSystem, player); chaseState.AddTransition(EnemyTransition.SoldierInTheAttackRange, EnemyStateID.AttackState); EnemyFSMState attackState = new StateEnemyAttack(mFSMSystem, player); attackState.AddTransition(EnemyTransition.SoldierOutOfTheAttackRange, EnemyStateID.ChaseState); mFSMSystem.AddState(chaseState); mFSMSystem.AddState(attackState); }
private void MakeFSM() { mFSMSystem = new EnemyFSMSystem(); EnemyChaseState chaseState = new EnemyChaseState(mFSMSystem, this); chaseState.AddTransition(EnemyTransition.CanAttack, EnemyStateID.Attack); EnemyAttackState attackState = new EnemyAttackState(mFSMSystem, this); attackState.AddTransition(EnemyTransition.LostSoldier, EnemyStateID.Chase); mFSMSystem.AddState(chaseState, attackState); }
private void MakeFsm() { Fsm = new EnemyFSMSystem(); EnemyChaseState chase = new EnemyChaseState(Fsm, this); chase.AddTransition(EnemyTransition.CanAttack, EnemyStateID.Attack); EnemyAttackState attack = new EnemyAttackState(Fsm, this); attack.AddTransition(EnemyTransition.LostSoldier, EnemyStateID.Chase); Fsm.AddState(chase, attack); }