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 static ProgressionStar ConvertStarOnly(ProgressionMap map, Star oldStar) { ProgressionStar newStar = new ProgressionStar(oldStar.Name); newStar.Properties = oldStar.Properties; map.Add(newStar); return(newStar); }
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)); }
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); }
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)); }
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); }