private static double GetVolatilesFactor(VolatilesClass volatilesClass) { switch (volatilesClass) { case (VolatilesClass.Airless): return(0); case (VolatilesClass.Desertic): return(0.01); case (VolatilesClass.Lacustrine): return(0.05); case (VolatilesClass.Marine): return(1.2); case (VolatilesClass.Oceanic): return(0.3); case (VolatilesClass.Superoceanic): return(0.1); default: throw new ArgumentException($"{volatilesClass.ToString()} class is not acceptable"); } }
public PlanetType(TemperatureClass temperature, VolatilesClass volatiles, SubstancesClass substances) { this.TemperatureClass = temperature; this.VolatilesClass = volatiles; this.SubstancesClass = substances; double tempQuality = PlanetCharacteristicsHelper.GetPlanetTypeFactor(temperature, volatiles, substances); this.Quality = tempQuality * GoodWorldQuality; this.Name = $"{temperature}, {volatiles}, {substances}"; this.ResourceAbundance = 100; double months = 12; this.MiningDifficulty = (Quality / GoodWorldQuality) / months; }
public static double GetPlanetTypeFactor( TemperatureClass temperature, VolatilesClass volatiles, SubstancesClass substances) { return(GetTemperatureFactor(temperature) * GetVolatilesFactor(volatiles) * GetSubstancesFactor(substances)); }