public WeatherData
 (
     CloudCoverage cloudCoverage
 )
 {
     this.cloudCoverage = cloudCoverage;
 }
        public void Execute(ref EnvironmentManager environmentManager)
        {
            if (environmentManager.intervalMet)
            {
                CloudCoverage cloudCoverage = WeatherDataCurves.GetInstance().cloudCoverageCurves[environmentManager.month];

                environmentManager.currentClearNode        = cloudCoverage.clear.Evaluate(environmentManager.timeOfDay);
                environmentManager.currentMostlyClearNode  = cloudCoverage.mostlyClear.Evaluate(environmentManager.timeOfDay);
                environmentManager.currentPartlyCloudyNode = cloudCoverage.partlyCloudy.Evaluate(environmentManager.timeOfDay);
                environmentManager.currentMostlyCloudyNode = cloudCoverage.mostlyCloudy.Evaluate(environmentManager.timeOfDay);

                Raininess raininess = WeatherDataCurves.GetInstance().rainfallData[environmentManager.month];

                environmentManager.rainfallChance   = raininess.rainfallChance;
                environmentManager.rainfallQuantity = raininess.rainfallHeaviness;

                Temperature temperature = WeatherDataCurves.GetInstance().temperatureData[environmentManager.month];

                environmentManager.currentTemperatureTarget           = temperature.averageTemperature.Evaluate(environmentManager.timeOfDay);
                environmentManager.currentTenToNinetyPercentileSpread = temperature.tenToNinetyPercentileSpread.Evaluate(environmentManager.timeOfDay);
            }
        }
Esempio n. 3
0
 internal Cloud(CloudCoverage coverage, int altitude, CloudConvectivity convectivity)
 {
     Coverage     = coverage;
     Altitude     = altitude;
     Convectivity = convectivity;
 }