private int FindPosToInsert([NotNull] List <PlanetData> planets, int planetIndex, [NotNull] QuadTreeLeaf visitedLeaf) { var posToInsert = -1; for (int j = mConstants.GetPlanetsToVisualize() - 1; j > -1; --j) { if (j > planets.Count - 1) { continue; } var inStoreDistance = Math.Abs(mPlayer.Score - planets[j].Score); var pretenderDistance = Math.Abs(mPlayer.Score - visitedLeaf.GetPlanetRating(planetIndex)); if (inStoreDistance > pretenderDistance) { posToInsert = j; continue; } if (inStoreDistance == pretenderDistance) { var pretenderPlanet = visitedLeaf.GetPlanetData(planetIndex); var distanceToStore = (mPlayer.GetX() - planets[j].X) * (mPlayer.GetX() - planets[j].X) + (mPlayer.GetY() - planets[j].Y) * (mPlayer.GetY() - planets[j].Y); var distanceToPretender = (mPlayer.GetX() - pretenderPlanet.X) * (mPlayer.GetX() - pretenderPlanet.X) + (mPlayer.GetY() - pretenderPlanet.Y) * (mPlayer.GetY() - pretenderPlanet.Y); if (distanceToPretender < distanceToStore) { posToInsert = j; continue; } } break; } return(posToInsert); }