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));
            }
        }