public static ProgressionStar ConvertStar(ProgressionMap map, Star oldStar) { ProgressionStar newStar = ConvertStarOnly(map, oldStar); IDictionary <string, Planet> oldPlanets = oldStar.GetPlanets(); if (oldPlanets != null) { foreach (Planet oldPlanet in oldPlanets.Values) { ProgressionPlanet newPlanet = ConvertPlanet(map, oldPlanet); newStar.Add(newPlanet); } } IDictionary <string, DwarfPlanet> oldDwarfs = oldStar.GetDwarfPlanets(); if (oldDwarfs != null) { foreach (DwarfPlanet oldDwarf in oldDwarfs.Values) { // Default handling is that if the DwarfPlanet has satellites convert // it to an Planet otherwise convert to an Asteroid if (oldDwarf.Satellites != null) { ProgressionPlanet newPlanet = ConvertDwarfPlanetasPlanet(map, oldDwarf); newStar.Add(newPlanet); } else { Asteroid newAsteroid = ConvertDwarfPlanetasAsteroid(map, oldDwarf); newStar.Add(newAsteroid); } } } IDictionary <string, Asteroid> oldAsteroids = oldStar.GetAsteroids(); if (oldAsteroids != null) { foreach (Asteroid oldAsteroid in oldAsteroids.Values) { Asteroid newAsteroid = ConvertAsteroid(map, oldAsteroid); newStar.Add(newAsteroid); } } IDictionary <string, Comet> oldComets = oldStar.GetComets(); if (oldComets != null) { foreach (Comet oldComet in oldComets.Values) { Comet newComet = ConvertComet(map, oldComet); newStar.Add(newComet); } } return(newStar); }
public StarSystem CreateSolSystem() { ProgressionStar sol = new ProgressionStar("Sun"); Map.Add <Star>(sol); sol.BasicProperties.Add(Constants.PropertyNames.Designation, "Sol"); sol.BasicProperties.Add(Constants.PropertyNames.StellarClass, "G2V"); var catalogue = new Dictionary <string, string>(); catalogue.Add("HabHyg", "0"); catalogue.Add("Hip", "0"); sol.Properties.AddGroup("Catalogue", catalogue); sol.Add(new Planet("Mercury")); sol.Add(new Planet("Venus")); Planet earth = CreateEarth(); sol.Add(earth); sol.Add(new Planet("Mars")); sol.Add(new Planet("Jupiter")); sol.Add(new Planet("Saturn")); sol.Add(new Planet("Uranus")); sol.Add(new Planet("Neptune")); sol.Add(new Planet("Pluto")); sol.Add(new Asteroid("Vesta")); sol.Add(new Asteroid("Ceres")); sol.Add(new Asteroid("Pallas")); sol.Add(new Asteroid("Juno")); sol.Add(new Asteroid("Hygiea")); sol.Add(new Asteroid("Euphrosyne")); sol.Add(new Comet("Haley's")); sol.Add(new Comet("Caeser's")); Sol = new StarSystem("Sol"); Sol.BasicProperties.Add(Constants.PropertyNames.Position, new Point3d(0, 0, 0).ToString()); Map.Add(Sol); Sol.Add(sol); return(Sol); }