示例#1
0
 public void Execute()
 {
     if (owner.CanMove())
     {
         GameObject nearest;
         if (type == TargetType.PLAYER)
         {
             nearest = owner.stateManager.FindNearestPlayer();
         }
         else if (type == TargetType.WAGON)
         {
             nearest = owner.stateManager.FindWagon();
         }
         else
         {
             nearest = owner.stateManager.FindNearestObject();
         }
         Vector2 distance = (Vector2)(nearest.transform.position - owner.transform.position);
         if (distance.sqrMagnitude >= Mathf.Pow(0.22f, 2))
         {
             Vector2 direction = distance.normalized;
             owner.Move(direction * 0.3f);
         }
         else
         {
             owner.Move(Vector2.zero);
         }
     }
     else
     {
         owner.Move(Vector2.zero);
     }
 }
示例#2
0
    public void Execute()
    {
        owner.Move(Vector2.zero);

        time += Time.deltaTime;
        if (time >= waitTime)
        {
            isOver = true;
        }
    }