예제 #1
0
 public override void Execute()
 {
     if (roboTurtle.InRangedRange)
     {
         roboTurtle.ChangeState(new RoboTurtleRangedState());
     }
     else
     {
         Patrol();
     }
 }
예제 #2
0
 public override void Execute()
 {
     if (roboTurtle.target != null)
     {
         roboTurtle.ChangeState(new RoboTurtlePatrolState());
     }
     else
     {
         Idle();
     }
 }
예제 #3
0
 public override void Execute()
 {
     if (roboTurtle.InMeleeRange)
     {
         roboTurtle.ChangeState(new RoboTurtleMeleeState());
     }
     else if (roboTurtle.target != null && roboTurtle.InRangedRange)
     {
         Ranged();
     }
     else if (roboTurtle.target == null || roboTurtle.target != null && !roboTurtle.InRangedRange)
     {
         roboTurtle.ChangeState(new RoboTurtleIdleState());
     }
 }
예제 #4
0
 public override void Execute()
 {
     if (roboTurtle.InRangedRange && !roboTurtle.InMeleeRange)
     {
         RoboTurtleRangedState newState = new RoboTurtleRangedState();
         newState.canRanged = true;
         roboTurtle.ChangeState(newState);
     }
     else if (roboTurtle.target == null)
     {
         roboTurtle.ChangeState(new RoboTurtleIdleState());
     }
     else if (roboTurtle.target != null)
     {
         Melee();
     }
 }