Пример #1
0
        public static void InitialiseStarChart()
        {
            // read from json and initialise _starChart
            ScGalaxy gal = GeneralJsonSerializer.Deserialize<ScGalaxy>(Globals.GALAXY_CORE_DB, null);

            Int64 i = 1;
            Int64 j = 10000000;
            foreach (ScSolarSystem ss in gal.SolarSystems)
            {
                _scSolarSystems.Add(i, ss);
                i++;
                foreach (ScPlanet p in ss.Planets)
                {
                    _scPlanets.Add(j, p);
                    j++;
                }
            }            
        }
Пример #2
0
        public static void SerializeAndSave(ScGalaxy gal)
        {
            JsonSerializer jsSer = new JsonSerializer();
            jsSer.PreserveReferencesHandling = PreserveReferencesHandling.Objects;
            jsSer.Formatting = Formatting.None;
            jsSer.NullValueHandling = NullValueHandling.Ignore;

            using (FileStream stream = new FileStream(Globals.GALAXY_CORE_DB, FileMode.Create, FileAccess.Write))
            {
                using (GZipStream gzip = new GZipStream(stream, CompressionMode.Compress))
                {
                    using (StreamWriter sw = new StreamWriter(gzip))
                    {
                        using (JsonWriter jsWriter = new JsonTextWriter(sw))
                        {
                            jsSer.Serialize(jsWriter, gal);
                        }
                    }
                }
            }
        }
Пример #3
0
 public ScGalaxy GenerateGalaxy(int numberOfSystems)
 {
     Random _rand = new Random();
     ScGalaxy gal = new ScGalaxy();
     gal.SolarSystems = new HashSet<ScSolarSystem>();
     if (numberOfSystems == 1)
     {
         ScSolarSystem ss = new ScSolarSystem();
         ss.Planets = new HashSet<ScPlanet>();
         ss.Name = "Sol";
         ss.Planets.Add(getPlanet("Mercury", 57.9, 87.96));
         ss.Planets.Add(getPlanet("Venus", 108.2, 224.68));
         ss.Planets.Add(getPlanet("Earth", 149.6, 365.26));
         ss.Planets.Add(getPlanet("Mars", 227.9, 686.98));
         ss.Planets.Add(getPlanet("Jupiter", 778.3, 4332.7));
         ss.Planets.Add(getPlanet("Saturn", 1427, 10759.1));
         ss.Planets.Add(getPlanet("Uranus", 2871, 30707.4));
         ss.Planets.Add(getPlanet("Neptune", 4497.1, 60198.5));
         gal.SolarSystems.Add(ss);
     }
     else
     {
         for (int i = 0; i < numberOfSystems; i++)
         {
             ScSolarSystem ss = new ScSolarSystem();
             ss.Planets = new HashSet<ScPlanet>();
             ss.Name = "SolarSystem" + i.ToString();
             ss.Planets.Add(getPlanet("P1", _rand.Next(100), _rand.Next(100)+100));
             ss.Planets.Add(getPlanet("P2", _rand.Next(200) + 100, _rand.Next(100)+500));
             ss.Planets.Add(getPlanet("P3", _rand.Next(200) + 300, _rand.Next(100)+1000));
             ss.Planets.Add(getPlanet("P4", _rand.Next(500) + 500, _rand.Next(100)+4000));
             gal.SolarSystems.Add(ss);
         }
     }
     return gal;
 }