public static HabitablePlanet GetHabitablePlanet(string name, PlanetType planetType) { string planetName = name; double radius = RockyPlanetRadiusGeneration(); return(new HabitablePlanet(planetName, radius, planetType, 0)); }
/// <summary> /// Инициализирует экземпляр класса планеты /// </summary> /// <param name="name"> /// Имя планеты /// </param> /// <param name="radius"> /// Радуис планеты /// </param> /// <param name="type"> /// Тип планеты /// </param> /// <param name="population"> /// Изначальное население планеты /// </param> public Planet(string name, double radius, PlanetType type) : base(name, radius) { if (radius < 2000) { throw new ArgumentOutOfRangeException(nameof(radius), "Cannot be lower than 2000"); } this.Type = type; this.BodyResource = new PlanetResourceGenerator().GenerateFor(this); }
/// <summary> /// Генерирует планету с заданым именем и типом /// </summary> /// <param name="name"> /// Имя планеты /// </param> /// <param name="planetType"> /// Тип планеты(пустынная, океаническая, газовый гигант и т.д) /// </param> /// <returns></returns> public static Planet GetPlanet(string name, PlanetType planetType) { string planetName = name; double radius = 0; if (planetType.SubstancesClass == SubstancesClass.Jupiter) { radius = GasGiantRadiusGeneration(); } else { radius = RockyPlanetRadiusGeneration(); } return(new Planet(planetName, radius, planetType)); }
/// <summary> /// Генерирует одну обитаемую планету /// </summary> /// <param name="systemName"> /// Имя звездной системы, в которой находятся генерируемые планеты /// </param> private static HabitablePlanet GetHabitablePlanet(string planetName, int planetCount, LuminosityClass mainStarClass) { int probabilityIndex = HelperRandomFunctions.GetRandomInt(1, maxPercents + 1); PlanetType planetType; if (probabilityIndex >= 80) { planetType = new PlanetType(TemperatureClass.Temperate, VolatilesClass.Marine, SubstancesClass.Terra); } else if (probabilityIndex >= 60) { planetType = new PlanetType(TemperatureClass.Cool, VolatilesClass.Marine, SubstancesClass.Terra); } else { planetType = new PlanetType(TemperatureClass.Cool, VolatilesClass.Desertic, SubstancesClass.Terra); } return(PlanetFactory.GetHabitablePlanet(planetName, planetType)); }