Пример #1
0
    public void Avoid()
    {
        if (Avoidance == avoidance.ObstacleDetected)
        {
            motor.Rotate(-1 * data.turnSpeed);
            if (CanMove(data.moveSpeed))
            {
                Avoidance = avoidance.AvoidingObstacle;
                exitTime  = avoidtime;
            }
        }

        else if (Avoidance == avoidance.AvoidingObstacle)
        {
        }
        else
        {
        }
    }
Пример #2
0
 public void Chase(GameObject target)
 {
     if (motor.RotateTowards(target.transform.position, data.turnSpeed))
     {
         //Do Nothing
     }
     else if (!CanMove(data.moveSpeed))
     {
         Avoidance = avoidance.ObstacleDetected;
     }
     else
     {
         if (Vector3.SqrMagnitude(transform.position - target.transform.position) >= (closeEnough * closeEnough))
         {
             motor.Move(data.moveSpeed);
         }
         else
         {
             //Do Nothing
         }
     }
 }