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; }
private static double GetSubstancesFactor(SubstancesClass substancesClass) { switch (substancesClass) { case (SubstancesClass.Ferria): return(0.7); case (SubstancesClass.Terra): return(1); case (SubstancesClass.Jupiter): return(0); default: throw new ArgumentException($"{substancesClass.ToString()} class is not acceptable"); } }
public static double GetPlanetTypeFactor( TemperatureClass temperature, VolatilesClass volatiles, SubstancesClass substances) { return(GetTemperatureFactor(temperature) * GetVolatilesFactor(volatiles) * GetSubstancesFactor(substances)); }