public static bool EvaluateIfCoastal(LandSeaLake Humidity) { var number = MainClass.GetRandomNumber(0, 2); var retVal = false; //not coastal if (number == 1 && Humidity != LandSeaLake.Lake) //a coastal lake is sea! { retVal = true; //coastal } return(retVal); }
public static List <ProvinceDefinition> GenerateDefinitions(DefinitionContainer container) { var retVal = new List <ProvinceDefinition> (); LandSeaLake humidity = new LandSeaLake(); if (container.LSLinput != 99) { humidity = (LandSeaLake)container.LSLinput; } List <string> RGBValues = new List <string>(); var i = 0; while (i < container.provNumber) { var RGBValue = GenerateRandomRGBValues(); if (!RGBValues.Any().Equals(RGBValue)) { RGBValues.Add(RGBValue); i++; } } Dictionary <int, int> ContinentIdValues = new Dictionary <int, int>(); ContinentIdValues = PopulateContinentIds(container.provId, container.provNumber, container.continents, container.continentsLowerBound); int provId = container.provId; foreach (var value in RGBValues) { if (container.LSLinput == 99) { humidity = (LandSeaLake)MainClass.GetRandomNumber(0, 3); } var province = new ProvinceDefinition(); province.ProvId = provId; province.Humidity = humidity; province.IsCoastal = EvaluateIfCoastal(humidity); province.TerrainType = PopulateTerrainType(humidity); province.RGBvalue = value; province.ContinentId = ContinentIdValues[provId]; if (humidity == LandSeaLake.Sea) { province.ContinentId = 0; } retVal.Add(province); provId++; } return(retVal); }
public static Terrain PopulateTerrainType(LandSeaLake Humidity) { switch (Humidity) { case LandSeaLake.Sea: return(Terrain.ocean); case LandSeaLake.Lake: return(Terrain.lakes); default: return((Terrain)MainClass.GetRandomNumber(2, 9)); } }