/// <summary> /// Генерирует газовые планеты системы /// </summary> /// <param name="systemName"> /// Имя звездной системы, в которой находятся генерируемые планеты /// </param> /// <param name="planetCount"> /// Счетчик планет системы /// </param> private static List <Planet> GetGasGiantPlanets(string systemName, ref int planetCount) { int gasGiantCount = HelperRandomFunctions.GetRandomInt(minGasGiantCount, maxGasGiantCount + 1); List <Planet> planets = new List <Planet>(); for (int index = 0; index < gasGiantCount; index++) { planets.Add(PlanetFactory.GetPlanet(GetPlanetName(systemName, planetCount), new PlanetType(TemperatureClass.Cold, VolatilesClass.Airless, SubstancesClass.Jupiter))); planetCount++; } return(planets); }
/// <summary> /// Генерирует безжизненные планеты системы /// </summary> /// <param name="nameTemplate"> /// Имя звездной системы, в которой находятся генерируемые планеты /// </param> /// <param name="planetCount"> /// Счетчик планет системы /// </param> /// <param name="stars"> /// Коллекция <see cref="Star"/> системы /// </param> private static List <Planet> GetBarrenPlanets(string systemName, ref int planetCount, List <Star> stars) { int barrenCount = HelperRandomFunctions.GetRandomInt(minBarrenCount, maxBarrenCount + 1); LuminosityClass systemStarClass = stars[0].LumClass; List <Planet> planets = new List <Planet>(); TemperatureClass planetTemperature; if (systemStarClass == LuminosityClass.M || systemStarClass == LuminosityClass.K) { planetTemperature = TemperatureClass.Warm; } else { planetTemperature = TemperatureClass.Hot; } if (HelperRandomFunctions.PercentProbableBool(20) && barrenCount >= 1) { planets.Add(PlanetFactory.GetPlanet(GetPlanetName(systemName, planetCount), new PlanetType(planetTemperature, VolatilesClass.Airless, SubstancesClass.Ferria))); planetCount++; barrenCount--; if (HelperRandomFunctions.PercentProbableBool(20) && barrenCount >= 1) { planets.Add(PlanetFactory.GetPlanet(GetPlanetName(systemName, planetCount), new PlanetType(planetTemperature, VolatilesClass.Airless, SubstancesClass.Ferria))); planetCount++; barrenCount--; } } for (int index = 0; index < barrenCount; index++) { planets.Add(PlanetFactory.GetPlanet(GetPlanetName(systemName, planetCount), new PlanetType(planetTemperature, VolatilesClass.Airless, SubstancesClass.Terra))); planetCount++; } return(planets); }