public override bool Equals(object obj) { GameObjectAndDistance castedObject = obj as GameObjectAndDistance; if (castedObject == null) { return(false); } else { return(gameObject == castedObject.gameObject); } }
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()); }
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); }