コード例 #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 static ProgressionStar ConvertStarOnly(ProgressionMap map, Star oldStar)
        {
            ProgressionStar newStar = new ProgressionStar(oldStar.Name);

            newStar.Properties = oldStar.Properties;
            map.Add(newStar);
            return(newStar);
        }
コード例 #3
0
        public void StarSystemEqualTest()
        {
            StarSystem system1 = new StarSystem("System 1");

            system1.Identifier = "System 1";
            ProgressionStar star = new ProgressionStar("Star 1");

            star.Identifier = "Star 1";
            system1.Add(star);

            StarSystem system2 = new StarSystem("System 1");

            system2.Identifier = "System 1";
            system2.Add(star);

            Assert.IsTrue(StarSystemEqualityComparer.Comparer.Equals(system1, system2));
        }
コード例 #4
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);
        }
コード例 #5
0
        public void StarSystemNotEqualUnequalStarsTest()
        {
            StarSystem system1 = new StarSystem("System 1");

            system1.Identifier = "System 1";
            ProgressionStar star1 = new ProgressionStar("Star 1");

            star1.Identifier = "Star 1";
            ProgressionStar star2 = new ProgressionStar("Star 2");

            star2.Identifier = "Star 2";
            system1.Add(star1);
            system1.Add(star2);

            StarSystem system2 = new StarSystem("System 1");

            system2.Identifier = "System 1";
            system2.Add(star1);

            Assert.IsFalse(StarSystemEqualityComparer.Comparer.Equals(system1, system2));
        }
コード例 #6
0
ファイル: PY100DEMap.cs プロジェクト: ErgodicMage/StellarMap
        public Cluster CreateSolCluster()
        {
            Cluster solCluster = new Cluster("Sol Cluster");

            Map.Add(solCluster);

            StarSystem      system = null;
            ProgressionStar star   = null;
            IDictionary <string, string> catalogue = null;

            system = CreateSolSystem();
            solCluster.Add(system);

            #region Bernard's Star
            system = new StarSystem("Bernard");
            system.BasicProperties.Add(Constants.PropertyNames.Designation, "Gl 699");
            system.BasicProperties.Add(Constants.PropertyNames.Position, new Point3d(1.5, 0.9, 0.4).ToString());
            Map.Add(system);
            star = new ProgressionStar("Bernard's Star");
            star.BasicProperties.Add(Constants.PropertyNames.Designation, "Gl 699");
            star.BasicProperties.Add(Constants.PropertyNames.StellarClass, "sdM4");
            catalogue = new Dictionary <string, string>();
            catalogue.Add("HabHyg", "4");
            catalogue.Add("Hip", "87937");
            star.Properties.AddGroup("Catalogue", catalogue);
            system.Add(star);
            solCluster.Add(system);
            #endregion

            #region Epsilon Eridani
            system = new StarSystem("Epsilon Eridani");
            system.BasicProperties.Add(Constants.PropertyNames.Designation, "Gl 144");
            system.BasicProperties.Add(Constants.PropertyNames.Position, new Point3d(-2.1, -0.6, -2.4).ToString());
            Map.Add(system);
            star = new ProgressionStar("Epsilon Eridani");
            star.BasicProperties.Add(Constants.PropertyNames.Designation, "Gl 144");
            star.BasicProperties.Add(Constants.PropertyNames.StellarClass, "K2V");
            catalogue = new Dictionary <string, string>();
            catalogue.Add("HabHyg", "13");
            catalogue.Add("Hip", "16537");
            star.Properties.AddGroup("Catalogue", catalogue);
            system.Add(star);
            solCluster.Add(system);
            #endregion

            #region Procyon
            system = new StarSystem("Procyon");
            system.BasicProperties.Add(Constants.PropertyNames.Designation, "Gl 280");
            system.BasicProperties.Add(Constants.PropertyNames.Position, new Point3d(-2.8, -1.9, 0.8).ToString());
            Map.Add(system);
            star = new ProgressionStar("Procyon");
            star.BasicProperties.Add(Constants.PropertyNames.Designation, "Gl 280");
            star.BasicProperties.Add(Constants.PropertyNames.StellarClass, "F5IV-V");
            catalogue = new Dictionary <string, string>();
            catalogue.Add("HabHyg", "18");
            catalogue.Add("Hip", "37279");
            star.Properties.AddGroup("Catalogue", catalogue);
            system.Add(star);
            solCluster.Add(system);
            #endregion

            #region Ross
            system = new StarSystem("Ross");
            system.BasicProperties.Add(Constants.PropertyNames.Designation, "Gl 447");
            system.BasicProperties.Add(Constants.PropertyNames.Position, new Point3d(0, -1.7, 2.9).ToString());
            Map.Add(system);
            star = new ProgressionStar("Pocks");
            star.BasicProperties.Add(Constants.PropertyNames.Designation, "Gl 447/Ross 128");
            star.BasicProperties.Add(Constants.PropertyNames.StellarClass, "M4.5V");
            catalogue = new Dictionary <string, string>();
            catalogue.Add("HabHyg", "14");
            catalogue.Add("Hip", "57548");
            star.Properties.AddGroup("Catalogue", catalogue);
            system.Add(star);
            solCluster.Add(system);
            #endregion

            #region Ceti
            system = new StarSystem("Ceti");
            system.BasicProperties.Add(Constants.PropertyNames.Designation, "Gl 65");
            system.BasicProperties.Add(Constants.PropertyNames.Position, new Point3d(-0.6, 0.1, -2.5).ToString());
            Map.Add(system);
            star = new ProgressionStar("BL");
            star.BasicProperties.Add(Constants.PropertyNames.Designation, "Gl 65 A");
            star.BasicProperties.Add(Constants.PropertyNames.StellarClass, "dM5.5V");
            catalogue = new Dictionary <string, string>();
            catalogue.Add("HabHyg", "7");
            catalogue.Add("Hip", "-1");
            star.Properties.AddGroup("Catalogue", catalogue);
            system.Add(star);
            star = new ProgressionStar("UV");
            star.BasicProperties.Add(Constants.PropertyNames.Designation, "Gl 65 B");
            star.BasicProperties.Add(Constants.PropertyNames.StellarClass, "dM5.5V");
            catalogue = new Dictionary <string, string>();
            catalogue.Add("HabHyg", "7");
            catalogue.Add("Hip", "-1");
            star.Properties.AddGroup("Catalogue", catalogue);
            system.Add(star);
            solCluster.Add(system);
            #endregion

            #region Bridges
            // Add Bridges
            ERBridge bridge = ERBridgeHelper.CreateStarSystemBridge(Map, solCluster, "Sol", "Bernard");
            solCluster.Add(bridge);
            bridge = ERBridgeHelper.CreateStarSystemBridge(Map, solCluster, "Sol", "Epsilon Eridani");
            solCluster.Add(bridge);
            bridge = ERBridgeHelper.CreateStarSystemBridge(Map, solCluster, "Sol", "Procyon");
            solCluster.Add(bridge);
            bridge = ERBridgeHelper.CreateStarSystemBridge(Map, solCluster, "Bernard", "Ross");
            solCluster.Add(bridge);
            bridge = ERBridgeHelper.CreateStarSystemBridge(Map, solCluster, "Procyon", "Ceti");
            solCluster.Add(bridge);
            #endregion

            return(solCluster);
        }