示例#1
0
 void SniperFlee()
 {
     control.Flee();
     if (control.CanMove(data.forwardSpeed) == false)
     {
         control.Avoid();
     }
     if (control.playerIsInRange() == false)
     {
         ChangeState(AIState.Rest);
     }
 }
示例#2
0
 void AggroAttack()
 {
     if (control.playerIsInRange() == true)
     {
         control.Attack();
         if (control.CanMove(data.forwardSpeed) == false)
         {
             control.Avoid();
         }
     }
     else
     {
         ChangeState(AIState.Wander);
     }
 }
示例#3
0
 void GuardAttack()
 {
     if (control.playerIsInRange() == true)
     {
         control.Attack();
         if (control.CanMove(data.forwardSpeed) == false)
         {
             control.Avoid();
         }
     }
     if (data.tankCurrentLife <= (data.tankMaxLife / 2))
     {
         ChangeState(AIState.Flee);
     }
     else
     {
         ChangeState(AIState.Wander);
     }
 }