void ExecuteTurn() { List <Vector2Int> possibleTiles = prey.map.GetAdjacentPositions(prey.GetTilemapPosition()); List <TileAndDistance> choices = new List <TileAndDistance>(); for (int i = 0; i < possibleTiles.Count; i++) { choices.Add(new TileAndDistance(possibleTiles[i], Vector2Int.Distance(possibleTiles[i], prey.game.predator.GetTilemapPosition()))); } choices.Sort(delegate(TileAndDistance a, TileAndDistance b) { if (a.distance > b.distance) { return(-1); } else if (a.distance == b.distance) { return(0); } return(1); }); if (choices.Count > 0) { prey.Move(choices[0].position); } }