Ejemplo n.º 1
0
 public KBPlayer FindClosestPlayer(KBPlayer fromPlayer, float minimumDist, bool oppositeTeamOnly)
 {
     List<KBPlayer> players = GameManager.Instance.players;
     KBPlayer target = null;
     float closest = 0;
     for (int i = 0; i < players.Count; i++)
     {
         if (players[i].GetHashCode() != fromPlayer.GetHashCode())
         {
             float distance = 0;
             if (oppositeTeamOnly && players[i].team != fromPlayer.team)
             {
                 distance = Vector3.Distance(fromPlayer.transform.position, players[i].transform.position);
             }
             else if (!oppositeTeamOnly)
             {
                 distance = Vector3.Distance(fromPlayer.transform.position, players[i].transform.position);
             }
             if (distance > minimumDist)
             {
                 if (closest == 0)
                 {
                     closest = distance;
                     target = players[i];
                 }
                 else if (closest != 0 && distance < closest)
                 {
                     closest = distance;
                     target = players[i];
                 }
             }
         }
     }
     return target;
 }