示例#1
0
        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);
        }
示例#2
0
        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);
        }