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); }