internal static string SelectIcon(
     PlanetInfo planetInfo,
     IEnumerable <OrbitalObjectInfo> orbitalObjectInfos,
     IEnumerable <PlanetInfo> planetInfos)
 {
     if (StarSystemMapUI.IsTerrestrialPlanet(planetInfo))
     {
         return(StarSystemMapUI.HasMoons(planetInfo, orbitalObjectInfos, planetInfos) ? "sysmap_planetmoon" : "sysmap_planet");
     }
     if (!StarSystemMapUI.IsGasGiant(planetInfo))
     {
         return(string.Empty);
     }
     if (StarSystemMapUI.HasTerrestrialMoons(planetInfo, orbitalObjectInfos, planetInfos))
     {
         return("sysmap_gasgiantplanet");
     }
     if (StarSystemMapUI.HasMoons(planetInfo, orbitalObjectInfos, planetInfos))
     {
         return("sysmap_gasgiantmoon");
     }
     return(StarSystemMapUI.HasRing(planetInfo) ? "sysmap_gasgiantrings" : "sysmap_gasgiant");
 }
 private static bool HasTerrestrialMoons(
     PlanetInfo planetInfo,
     IEnumerable <OrbitalObjectInfo> orbitalObjectInfos,
     IEnumerable <PlanetInfo> planetInfos)
 {
     foreach (OrbitalObjectInfo orbitalObjectInfo in orbitalObjectInfos.Where <OrbitalObjectInfo>((Func <OrbitalObjectInfo, bool>)(x =>
     {
         if (x.ParentID.HasValue)
         {
             return(x.ParentID.Value == planetInfo.ID);
         }
         return(false);
     })))
     {
         OrbitalObjectInfo moon        = orbitalObjectInfo;
         PlanetInfo        planetInfo1 = planetInfos.FirstOrDefault <PlanetInfo>((Func <PlanetInfo, bool>)(x => x.ID == moon.ID));
         if (planetInfo1 != null && StarSystemMapUI.IsTerrestrialPlanet(planetInfo1))
         {
             return(true);
         }
     }
     return(false);
 }