20 int year, month, day, hour, minute, second;
21 timeAndWeatherManager.GetDate(year, month, day);
22 timeAndWeatherManager.GetHoursMinutesSeconds(hour, minute, second);
24 const WeatherState currentWeather = timeAndWeatherManager.GetCurrentWeatherState();
25 const string state = currentWeather.GetStateName();
28 const float dayDuration = timeAndWeatherManager.GetDayDuration();
29 const bool isDayAutoAdvanced = timeAndWeatherManager.GetIsDayAutoAdvanced();
31 const float latitude = timeAndWeatherManager.GetCurrentLatitude();
32 const float longitude = timeAndWeatherManager.GetCurrentLongitude();
34 const float timeZoneOffset = timeAndWeatherManager.GetTimeZoneOffset();
36 const bool dstEnabled = timeAndWeatherManager.IsDSTEnabled();
37 const float dstOffset = timeAndWeatherManager.GetDSTOffset();
39 const bool windSpeedOverridden = timeAndWeatherManager.IsWindSpeedOverridden();
40 const float windSpeed = timeAndWeatherManager.GetWindSpeed();
42 const bool windDirectionOverridden = timeAndWeatherManager.IsWindDirectionOverridden();
43 const float windDirection = timeAndWeatherManager.GetWindDirection();
45 const bool isRainIntensityOverridden = timeAndWeatherManager.IsRainIntensityOverridden();
46 const float rainIntensity = timeAndWeatherManager.GetRainIntensity();
48 const bool fogAmountOverridden = timeAndWeatherManager.IsFogAmountOverridden();
49 const float fogAmount = timeAndWeatherManager.GetFogAmount();
51 const bool fogHeightDensityOverridden = timeAndWeatherManager.IsFogHeightDensityOverridden();
52 const float fogHeightDensity = timeAndWeatherManager.GetFogHeightDensity();
54 const float wetness = timeAndWeatherManager.GetCurrentWetness();
55 const float waterAccumulationCracks = timeAndWeatherManager.GetCurrentWaterAccumulationCracks();
56 const float waterAccumulationPuddles = timeAndWeatherManager.GetCurrentWaterAccumulationPuddles();
58 const bool overrideSunIrradiance = timeAndWeatherManager.GetOverrideSunIrradiance();
59 const float sunIrradianceMinOverride = timeAndWeatherManager.GetSunIrradianceMinOverride();
60 const float sunIrradianceMaxOverride = timeAndWeatherManager.GetSunIrradianceMaxOverride();
62 const bool overrideTemperature = timeAndWeatherManager.GetOverrideTemperature();
63 const float temperatureAirMinOverride = timeAndWeatherManager.GetTemperatureAirMinOverride();
64 const float temperatureAirMaxOverride = timeAndWeatherManager.GetTemperatureAirMaxOverride();
65 const float temperatureWaterMinOverride = timeAndWeatherManager.GetTemperatureWaterMinOverride();
66 const float temperatureWaterMaxOverride = timeAndWeatherManager.GetTemperatureWaterMaxOverride();
67 const float temperatureSkyMinOverride = timeAndWeatherManager.GetTemperatureSkyMinOverride();
68 const float temperatureSkyMaxOverride = timeAndWeatherManager.GetTemperatureSkyMaxOverride();
70 context.WriteValue(
"version", 1);
76 context.Write(minute);
77 context.Write(second);
79 context.WriteDefault(dayDuration, 86400.0);
80 context.WriteDefault(isDayAutoAdvanced,
true);
81 context.WriteDefault(latitude, 50.073);
82 context.WriteDefault(longitude, 14.437);
83 context.WriteDefault(timeZoneOffset, 0);
84 context.WriteDefault(dstEnabled,
true);
86 context.WriteDefault(dstOffset, 1.0);
89 context.WriteDefault(looping,
false);
91 context.WriteDefault(wetness, 0.0);
92 context.WriteDefault(waterAccumulationCracks, 0.0);
93 context.WriteDefault(waterAccumulationPuddles, 0.0);
95 context.WriteDefault(windSpeedOverridden,
false);
96 if (windSpeedOverridden)
97 context.Write(windSpeed);
99 context.WriteDefault(windDirectionOverridden,
false);
100 if (windDirectionOverridden)
101 context.Write(windDirection);
103 context.WriteDefault(isRainIntensityOverridden,
false);
104 if (isRainIntensityOverridden)
105 context.Write(rainIntensity);
107 context.WriteDefault(fogAmountOverridden,
false);
108 if (fogAmountOverridden)
109 context.Write(fogAmount);
111 context.WriteDefault(fogHeightDensityOverridden,
false);
112 if (fogHeightDensityOverridden)
113 context.Write(fogHeightDensity);
115 context.WriteDefault(overrideSunIrradiance,
false);
116 if (overrideSunIrradiance)
118 context.Write(sunIrradianceMinOverride);
119 context.Write(sunIrradianceMaxOverride);
122 context.WriteDefault(overrideTemperature,
false);
123 if (overrideTemperature)
125 context.Write(temperatureAirMinOverride);
126 context.Write(temperatureAirMaxOverride);
127 context.Write(temperatureWaterMinOverride);
128 context.Write(temperatureWaterMaxOverride);
129 context.Write(temperatureSkyMinOverride);
130 context.Write(temperatureSkyMaxOverride);
142 context.Read(version);
144 int year, month, day, hour, minute, second;
149 context.Read(minute);
150 context.Read(second);
151 timeAndWeatherManager.SetDate(year, month, day);
152 timeAndWeatherManager.SetHoursMinutesSeconds(hour, minute, second);
155 if (context.Read(dayDuration))
156 timeAndWeatherManager.SetDayDuration(dayDuration);
158 bool isDayAutoAdvanced;
159 if (context.Read(isDayAutoAdvanced))
160 timeAndWeatherManager.SetIsDayAutoAdvanced(isDayAutoAdvanced);
163 if (context.Read(latitude))
164 timeAndWeatherManager.SetCurrentLatitude(latitude);
167 if (context.Read(longitude))
168 timeAndWeatherManager.SetCurrentLongitude(longitude);
170 float timeZoneOffset;
171 if (context.Read(timeZoneOffset))
172 timeAndWeatherManager.SetTimeZoneOffset(timeZoneOffset);
175 if (context.Read(dstEnabled))
176 timeAndWeatherManager.SetDSTEnabled(dstEnabled);
181 if (context.Read(dstOffset))
182 timeAndWeatherManager.SetDSTOffset(dstOffset);
188 context.ReadDefault(looping,
false);
192 if (context.Read(wetness))
193 timeAndWeatherManager.SetCurrentWetness(wetness);
195 float waterAccumulationCracks, waterAccumulationPuddles;
196 context.ReadDefault(waterAccumulationCracks, 0.0);
197 context.ReadDefault(waterAccumulationPuddles, 0.0);
198 timeAndWeatherManager.SetCurrentWaterAccumulation(waterAccumulationCracks, waterAccumulationPuddles);
200 bool windSpeedOverridden;
201 context.ReadDefault(windSpeedOverridden,
false);
202 if (windSpeedOverridden)
205 context.Read(windSpeed);
206 timeAndWeatherManager.SetWindSpeedOverride(
true, windSpeed);
209 bool windDirectionOverridden;
210 context.ReadDefault(windDirectionOverridden,
false);
211 if (windDirectionOverridden)
214 context.Read(windDirection);
215 timeAndWeatherManager.SetWindDirectionOverride(
true, windDirection);
218 bool isRainIntensityOverridden;
219 context.ReadDefault(isRainIntensityOverridden,
false);
220 if (isRainIntensityOverridden)
223 context.Read(rainIntensity);
224 timeAndWeatherManager.SetRainIntensityOverride(
true, rainIntensity);
227 bool fogAmountOverridden;
228 context.ReadDefault(fogAmountOverridden,
false);
229 if (fogAmountOverridden)
232 context.Read(fogAmount);
233 timeAndWeatherManager.SetFogAmountOverride(
true, fogAmount);
236 bool fogHeightDensityOverridden;
237 context.ReadDefault(fogHeightDensityOverridden,
false);
238 if (fogHeightDensityOverridden)
240 float fogHeightDensity;
241 context.Read(fogHeightDensity);
242 timeAndWeatherManager.SetFogHeightDensityOverride(
true, fogHeightDensity);
245 bool overrideSunIrradiance;
246 context.ReadDefault(overrideSunIrradiance,
false);
247 if (overrideSunIrradiance)
249 float sunIrradianceMinOverride, sunIrradianceMaxOverride;
250 context.Read(sunIrradianceMinOverride);
251 context.Read(sunIrradianceMaxOverride);
252 timeAndWeatherManager.SetOverrideSunIrradiance(
true);
253 timeAndWeatherManager.SetSunIrradianceOverrideValues(sunIrradianceMinOverride, sunIrradianceMaxOverride);
256 bool overrideTemperature;
257 context.ReadDefault(overrideTemperature,
false);
258 if (overrideTemperature)
260 float temperatureAirMinOverride, temperatureAirMaxOverride;
261 float temperatureWaterMinOverride, temperatureWaterMaxOverride;
262 float temperatureSkyMinOverride, temperatureSkyMaxOverride;
263 context.Read(temperatureAirMinOverride);
264 context.Read(temperatureAirMaxOverride);
265 context.Read(temperatureWaterMinOverride);
266 context.Read(temperatureWaterMaxOverride);
267 context.Read(temperatureSkyMinOverride);
268 context.Read(temperatureSkyMaxOverride);
269 timeAndWeatherManager.SetOverrideTemperature(
true);
270 timeAndWeatherManager.SetTemperatureOverrideValues(temperatureAirMinOverride, temperatureAirMaxOverride, temperatureWaterMinOverride, temperatureWaterMaxOverride, temperatureSkyMinOverride, temperatureSkyMaxOverride);