public override bool Equals(object obj)
    {
        GameObjectAndDistance castedObject = obj as GameObjectAndDistance;

        if (castedObject == null)
        {
            return(false);
        }
        else
        {
            return(gameObject == castedObject.gameObject);
        }
    }
示例#2
0
        public static GameObjectAndDistance[] GetDistances(Transform transform, GameObject[] objects)
        {
            List <GameObjectAndDistance> ObjectsAndDistances = new List <GameObjectAndDistance>();

            for (int loop1 = 0; loop1 < objects.Length; loop1++)
            {
                GameObject            obj      = objects[loop1];
                float                 distance = Direction.GetDistance(transform, obj.transform);
                GameObjectAndDistance gameObjectAndDistance = new GameObjectAndDistance(obj, distance);
                ObjectsAndDistances.Add(gameObjectAndDistance);
            }
            return(ObjectsAndDistances.ToArray());
        }
示例#3
0
 public static GameObjectAndDistance[] SortByDistance(Transform transform, GameObject[] objects)
 {
     GameObjectAndDistance[] results = Environment.GetDistances(transform, objects);
     for (int loop = 0; loop < results.Length; loop++)
     {
         for (int loop2 = 0; loop2 < results.Length - 1; loop2++)
         {
             if (results[loop2].distance > results[loop2 + 1].distance)
             {
                 GameObjectAndDistance temp = results[loop2 + 1];
                 results[loop2 + 1] = results[loop2];
                 results[loop2]     = temp;
             }
         }
     }
     return(results);
 }