Dayz Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Loading...
Searching...
No Matches
scriptconsoleweathertab.c
Go to the documentation of this file.
2{
3 static void SetDefaultValues()
4 {
5
6 }
7}
8
10{
11 protected ref Timer m_RPCTimer = new Timer();
12 protected const int INTERPOLATION_MAX = 920;
13 protected const int DURATION_MAX = 960;
14
15 // FOG
16 protected SliderWidget m_FogValueSetSlider;
17 protected SliderWidget m_FogValueGetSlider;
18
20
21 protected SliderWidget m_FogInterpolationTimeSlider;
22 protected SliderWidget m_FogDurationTimeSlider;
23
26
30
31 protected static float m_FogValue = -1;
32 protected static float m_FogInterpolationTimeValue;
33 protected static float m_FogDurationTimeValue = -1;
34
35 // OVERCAST
36 protected SliderWidget m_OvercastValueSetSlider;
37 protected SliderWidget m_OvercastValueGetSlider;
38
40
41 protected SliderWidget m_OvercastInterpolationTimeSlider;
42 protected SliderWidget m_OvercastDurationTimeSlider;
43
46
50
51 protected static float m_OvercastValue = -1;
52 protected static float m_OvercastInterpolationTimeValue;
53 protected static float m_OvercastDurationTimeValue = -1;
54
55 // Rain
56 protected SliderWidget m_RainValueSetSlider;
57 protected SliderWidget m_RainValueGetSlider;
58
60
61 protected SliderWidget m_RainInterpolationTimeSlider;
62 protected SliderWidget m_RainDurationTimeSlider;
63
66
70
71 protected static float m_RainValue = -1;
72 protected static float m_RainInterpolationTimeValue;
73 protected static float m_RainDurationTimeValue = -1;
74
75 // Snowfall
76 protected SliderWidget m_SnowfallValueSetSlider;
77 protected SliderWidget m_SnowfallValueGetSlider;
78
80
81 protected SliderWidget m_SnowfallInterpolationTimeSlider;
82 protected SliderWidget m_SnowfallDurationTimeSlider;
83
86
90
91 protected static float m_SnowfallValue = -1;
92 protected static float m_SnowfallInterpolationTimeValue;
93 protected static float m_SnowfallDurationTimeValue = -1;
94
95 // Vol Fog
97 protected SliderWidget m_VolFogDistanceDensitySlider;
101
103 protected SliderWidget m_VolFogDistanceDensityTimeSlider;
107
109 protected SliderWidget m_VolFogHeightDensitySlider;
113
115 protected SliderWidget m_VolFogHeightDensityTimeSlider;
119
121 protected SliderWidget m_VolFogHeightBiasSlider;
125
127 protected SliderWidget m_VolFogHeightBiasTimeSlider;
131
132 protected static float m_VolFogDistanceDensityValue = -1;
133 protected static float m_VolFogDistanceDensityTimeValue;
134 protected static float m_VolFogHeightDensityValue = -1;
135 protected static float m_VolFogHeightDensityTimeValue;
136 protected static float m_VolFogHeightBiasValue = -1;
137 protected static float m_VolFogHeightBiasTimeValue;
138
139 // Wind Magnitude
140 protected SliderWidget m_WindMValueSetSlider;
141 protected SliderWidget m_WindMValueGetSlider;
142
144
145 protected SliderWidget m_WindMInterpolationTimeSlider;
146 protected SliderWidget m_WindMDurationTimeSlider;
147
150
154
155 protected static float m_WindMagnitudeValue = -1;
156 protected static float m_WindMInterpolationTimeValue;
157 protected static float m_WindMDurationTimeValue = -1;
158
159 // Wind Direction
160 protected SliderWidget m_WindDValueSetSlider;
161 protected SliderWidget m_WindDValueGetSlider;
162
164
165 protected SliderWidget m_WindDInterpolationTimeSlider;
166 protected SliderWidget m_WindDDurationTimeSlider;
167
170
174
175 protected static float m_WindDirectionValue = -1;
176 protected static float m_WindDInterpolationTimeValue;
177 protected static float m_WindDDurationTimeValue = -1;
178
179 // Other
180 protected ButtonWidget m_HideUIButton;
181 protected ImageWidget m_HideUIIcon;
182
183 protected ButtonWidget m_LoadPresetButton;
184 protected ButtonWidget m_DeletePresetButton;
185 protected ButtonWidget m_SavePresetButton;
186
187 protected ButtonWidget m_CopyButton;
188 protected ButtonWidget m_PasteButton;
189 protected ButtonWidget m_ResetButton;
190 protected ButtonWidget m_UpdateButton;
191 protected ButtonWidget m_ApplyButton;
192
195
196 protected bool m_UIVisibilityState = true;
197 protected ScriptConsoleWeatherPreset m_SelectedWeatherPreset;
198 protected ref ScriptConsolePresetsList m_WeatherPresetsList;
200 protected bool m_IsCAPSPressed;
201 protected bool m_CanUseMovement;
202 protected bool m_IsSavingPreset;
203
205 {
206 // FOG
207 m_FogValue = m_FogValueSetSlider.GetCurrent() / 100;
210
211 // OVERCAST
212 m_OvercastValue = m_OvercastValueSetSlider.GetCurrent() / 100;
215
216 // Rain
217 m_RainValue = m_RainValueSetSlider.GetCurrent() / 100;
220
221 // Snowfall
222 m_SnowfallValue = m_SnowfallValueSetSlider.GetCurrent() / 100;
225
226 // Vol Fog
229
232
235 }
236
237 void ScriptConsoleWeatherTab(Widget root, ScriptConsole console, Widget button, ScriptConsoleTabBase parent = null)
238 {
239 // FOG
240 m_FogValueSetSlider = SliderWidget.Cast(root.FindAnyWidget("SliderFogValue"));
241 m_FogValueGetSlider = SliderWidget.Cast(root.FindAnyWidget("SliderFogActualValue"));
242 m_FogValueSetText = TextWidget.Cast(root.FindAnyWidget("TextFogValueActual"));
243
244 m_FogInterpolationTimeSlider = SliderWidget.Cast(root.FindAnyWidget("SliderFogTarget"));
245 m_FogDurationTimeSlider = SliderWidget.Cast(root.FindAnyWidget("SliderFogDuration"));
246
247 m_FogInterpolationMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxFogTarget"));
248 m_FogDurationMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxFogDuration"));
249
250 m_FogValueEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxFogValue"));
251 m_FogInterpolationEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxFogTarget"));
252 m_FogDurationEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxFogDuration"));
253
254 // OVERCAST
255 m_OvercastValueSetSlider = SliderWidget.Cast(root.FindAnyWidget("SliderOvercastValue"));
256 m_OvercastValueGetSlider = SliderWidget.Cast(root.FindAnyWidget("SliderOvercastActualValue"));
257 m_OvercastValueSetText = TextWidget.Cast(root.FindAnyWidget("TextOvercastValueActual"));
258
259 m_OvercastInterpolationTimeSlider = SliderWidget.Cast(root.FindAnyWidget("SliderOvercastTarget"));
260 m_OvercastDurationTimeSlider = SliderWidget.Cast(root.FindAnyWidget("SliderOvercastDuration"));
261
262 m_OvercastInterpolationMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxOvercastTarget"));
263 m_OvercastDurationMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxOvercastDuration"));
264
265 m_OvercastValueEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxOvercastValue"));
266 m_OvercastInterpolationEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxOvercastTarget"));
267 m_OvercastDurationEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxOvercastDuration"));
268
269 // Rain
270 m_RainValueSetSlider = SliderWidget.Cast(root.FindAnyWidget("SliderRainValue"));
271 m_RainValueGetSlider = SliderWidget.Cast(root.FindAnyWidget("SliderRainActualValue"));
272 m_RainValueSetText = TextWidget.Cast(root.FindAnyWidget("TextRainValueActual"));
273
274 m_RainInterpolationTimeSlider = SliderWidget.Cast(root.FindAnyWidget("SliderRainTarget"));
275 m_RainDurationTimeSlider = SliderWidget.Cast(root.FindAnyWidget("SliderRainDuration"));
276
277 m_RainInterpolationMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxRainTarget"));
278 m_RainDurationMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxRainDuration"));
279
280 m_RainValueEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxRainValue"));
281 m_RainInterpolationEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxRainTarget"));
282 m_RainDurationEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxRainDuration"));
283
284 // Snowfall
285 m_SnowfallValueSetSlider = SliderWidget.Cast(root.FindAnyWidget("SliderSnowfallValue"));
286 m_SnowfallValueGetSlider = SliderWidget.Cast(root.FindAnyWidget("SliderSnowfallActualValue"));
287 m_SnowfallValueSetText = TextWidget.Cast(root.FindAnyWidget("TextSnowfallValueActual"));
288
289 m_SnowfallInterpolationTimeSlider = SliderWidget.Cast(root.FindAnyWidget("SliderSnowfallTarget"));
290 m_SnowfallDurationTimeSlider = SliderWidget.Cast(root.FindAnyWidget("SliderSnowfallDuration"));
291
292 m_SnowfallInterpolationMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxSnowfallTarget"));
293 m_SnowfallDurationMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxSnowfallDuration"));
294
295 m_SnowfallValueEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxSnowfallValue"));
296 m_SnowfallInterpolationEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxSnowfallTarget"));
297 m_SnowfallDurationEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxSnowfallDuration"));
298
299 // Vol Fog
300 m_VolFogDistanceDensityEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxVolfogDDValue"));
301 m_VolFogDistanceDensitySlider = SliderWidget.Cast(root.FindAnyWidget("SliderVolfogDD"));
302 m_VolFogDistanceDensitySlider.SetMinMax(0, 1);
303 m_VolFogDistanceDensitySlider.SetStep(0.01);
304 m_VolFogDistanceDensityMinText = TextWidget.Cast(root.FindAnyWidget("TextMinVolfogDDValue"));
305 m_VolFogDistanceDensityMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxVolfogDDValue"));
306 m_VolFogDistanceDensitySetText = TextWidget.Cast(root.FindAnyWidget("TextVolfogDDValueActual"));
307
308 m_VolFogDistanceDensityTimeEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxVolfogDDTValue"));
309 m_VolFogDistanceDensityTimeSlider = SliderWidget.Cast(root.FindAnyWidget("SliderVolfogDDTime"));
310 m_VolFogDistanceDensityTimeMinText = TextWidget.Cast(root.FindAnyWidget("TextMinVolfogDDTValue"));
311 m_VolFogDistanceDensityTimeMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxVolfogDDTValue"));
312 m_VolFogDistanceDensityTimeSetText = TextWidget.Cast(root.FindAnyWidget("TextVolfogDDTValueActual"));
313
314 m_VolFogHeightDensityEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxVolfogHDValue"));
315 m_VolFogHeightDensitySlider = SliderWidget.Cast(root.FindAnyWidget("SliderVolfogHD"));
316 m_VolFogHeightDensitySlider.SetMinMax(0, 1);
317 m_VolFogHeightDensitySlider.SetStep(0.01);
318 m_VolFogHeightDensityMinText = TextWidget.Cast(root.FindAnyWidget("TextMinVolfogHDValue"));
319 m_VolFogHeightDensityMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxVolfogHDValue"));
320 m_VolFogHeightDensitySetText = TextWidget.Cast(root.FindAnyWidget("TextVolfogHDValueActual"));
321
322 m_VolFogHeightDensityTimeEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxVolfogHDTValue"));
323 m_VolFogHeightDensityTimeSlider = SliderWidget.Cast(root.FindAnyWidget("SliderVolfogHDTime"));
324 m_VolFogHeightDensityTimeMinText = TextWidget.Cast(root.FindAnyWidget("TextMinVolfogHDTValue"));
325 m_VolFogHeightDensityTimeMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxVolfogHDTValue"));
326 m_VolFogHeightDensityTimeSetText = TextWidget.Cast(root.FindAnyWidget("TextVolfogHDTValueActual"));
327
328 m_VolFogHeightBiasEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxVolfogHBValue"));
329 m_VolFogHeightBiasSlider = SliderWidget.Cast(root.FindAnyWidget("SliderVolfogHB"));
330 m_VolFogHeightBiasSlider.SetMinMax(-500, 500);
331 m_VolFogHeightBiasMinText = TextWidget.Cast(root.FindAnyWidget("TextMinVolfogHBValue"));
332 m_VolFogHeightBiasMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxVolfogHBValue"));
333 m_VolFogHeightBiasSetText = TextWidget.Cast(root.FindAnyWidget("TextVolfogHBValueActual"));
334
335 m_VolFogHeightBiasTimeEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxVolfogHBTValue"));
336 m_VolFogHeightBiasTimeSlider = SliderWidget.Cast(root.FindAnyWidget("SliderVolfogHBTime"));
337 m_VolFogHeightBiasTimeMinText = TextWidget.Cast(root.FindAnyWidget("TextMinVolfogHBTValue"));
338 m_VolFogHeightBiasTimeMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxVolfogHbTValue"));
339 m_VolFogHeightBiasTimeSetText = TextWidget.Cast(root.FindAnyWidget("TextVolfogHBTValueActual"));
340
341 // Wind Magnitude
342 m_WindMValueSetSlider = SliderWidget.Cast(root.FindAnyWidget("SliderWindMValue"));
343 m_WindMValueSetSlider.SetMinMax(0, 20);
344 m_WindMValueSetSlider.SetStep(0.1);
345 m_WindMValueGetSlider = SliderWidget.Cast(root.FindAnyWidget("SliderWindMActualValue"));
346 m_WindMValueGetSlider.SetMinMax(0, 20);
347 m_WindMValueGetSlider.SetStep(0.1);
348
349 m_WindMValueSetText = TextWidget.Cast(root.FindAnyWidget("TextWindMValueActual"));
350
351 m_WindMInterpolationTimeSlider = SliderWidget.Cast(root.FindAnyWidget("SliderWindMTarget"));
352 m_WindMDurationTimeSlider = SliderWidget.Cast(root.FindAnyWidget("SliderWindMDuration"));
353
354 m_WindMInterpolationMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxWindMTarget"));
355 m_WindMDurationMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxWindMDuration"));
356
357 m_WindMValueEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxWindMValue"));
358 m_WindMInterpolationEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxWindMTarget"));
359 m_WindMDurationEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxWindMDuration"));
360
361 // Wind Direction
362 m_WindDValueSetSlider = SliderWidget.Cast(root.FindAnyWidget("SliderWindDValue"));
363 m_WindDValueSetSlider.SetMinMax(-3.14, 3.14);
364 m_WindDValueSetSlider.SetStep(0.01);
365
366 m_WindDValueGetSlider = SliderWidget.Cast(root.FindAnyWidget("SliderWindDActualValue"));
367 m_WindDValueGetSlider.SetMinMax(-3.14, 3.14);
368 m_WindDValueGetSlider.SetStep(0.01);
369
370 m_WindDValueSetText = TextWidget.Cast(root.FindAnyWidget("TextWindDValueActual"));
371
372 m_WindDInterpolationTimeSlider = SliderWidget.Cast(root.FindAnyWidget("SliderWindDTarget"));
373 m_WindDDurationTimeSlider = SliderWidget.Cast(root.FindAnyWidget("SliderWindDDuration"));
374
375 m_WindDInterpolationMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxWindDTarget"));
376 m_WindDDurationMaxText = TextWidget.Cast(root.FindAnyWidget("TextMaxWindDDuration"));
377
378 m_WindDValueEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxWindDValue"));
379 m_WindDInterpolationEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxWindDTarget"));
380 m_WindDDurationEditbox = EditBoxWidget.Cast(root.FindAnyWidget("EditBoxWindDDuration"));
381
382 //Other
383 m_HideUIButton = ButtonWidget.Cast(root.FindAnyWidget("ButtonHide"));
384 m_HideUIIcon = ImageWidget.Cast(root.FindAnyWidget("ButtonHideIcon"));
385 m_HideUIIcon.LoadImageFile(0, "set:dayz_gui image:PasswordEyeOpen");
386 m_HideUIIcon.LoadImageFile(1, "set:dayz_gui image:PasswordEyeClose");
387 m_HideUIIcon.SetImage(1);
388
389 m_CopyButton = ButtonWidget.Cast(root.FindAnyWidget("ButtonCopy"));
390 m_PasteButton = ButtonWidget.Cast(root.FindAnyWidget("ButtonPaste"));
391 m_ResetButton = ButtonWidget.Cast(root.FindAnyWidget("ButtonReset"));
392 m_UpdateButton = ButtonWidget.Cast(root.FindAnyWidget("ButtonUpdate"));
393 m_ApplyButton = ButtonWidget.Cast(root.FindAnyWidget("ButtonApply"));
394
395 m_LoadPresetButton = ButtonWidget.Cast(root.FindAnyWidget("ButtonLoadPreset"));
396 m_DeletePresetButton = ButtonWidget.Cast(root.FindAnyWidget("ButtonDeletePreset"));
397 m_SavePresetButton = ButtonWidget.Cast(root.FindAnyWidget("ButtonSavePreset"));
398 m_WeatherPresetEditbox = EditBoxWidget.Cast(root.FindAnyWidget("WeatherPresetName"));
399
400 m_WeatherPresetsPanel = root.FindAnyWidget("WeatherPresetsPanel");
401 m_WeatherPresetsList = new ScriptConsolePresetsList(m_WeatherPresetsPanel, this);
402 m_WeatherPresetsList.m_ItemSelected.Insert(OnListItemSelected);
403
404 InitValues();
406 }
407
409 {
410 m_WeatherPresetsList.ClearList();
411
412 for (int i = 0; i < m_ConfigDebugProfile.GetWeatherPresets().Count(); i++)
413 {
414 ScriptConsoleWeatherPreset preset = m_ConfigDebugProfile.GetWeatherPresets()[i];
415 if (!preset)
416 {
417 ErrorEx("Could not load DOF preset entry!");
418 continue;
419 }
420
421 m_WeatherPresetsList.AddListItem(preset.Name, 0, i);
422 }
423 }
424
425 protected void ResetValues()
426 {
427 // FOG
428 m_FogValueEditbox.SetText("0");
429 m_FogDurationEditbox.SetText(DURATION_MAX.ToString());
430 m_FogInterpolationEditbox.SetText("0");
431
432 // OVERCAST
433 m_OvercastValueEditbox.SetText("0");
434 m_OvercastDurationEditbox.SetText(DURATION_MAX.ToString());
436
437 // Rain
438 m_RainValueEditbox.SetText("0");
439 m_RainDurationEditbox.SetText(DURATION_MAX.ToString());
440 m_RainInterpolationEditbox.SetText("0");
441
442 // Snowfall
443 m_SnowfallValueEditbox.SetText("0");
444 m_SnowfallDurationEditbox.SetText(DURATION_MAX.ToString());
446
447 // Vol Fog
450
451 m_VolFogHeightDensityEditbox.SetText("0");
453
454 m_VolFogHeightBiasEditbox.SetText("0");
456
457 // Wind Magnitude
458 m_WindMValueEditbox.SetText("0");
459 m_WindMDurationEditbox.SetText(DURATION_MAX.ToString());
460 m_WindMInterpolationEditbox.SetText("0");
461
462 // Wind Direction
463 m_WindDValueEditbox.SetText("0");
464 m_WindDDurationEditbox.SetText(DURATION_MAX.ToString());
465 m_WindDInterpolationEditbox.SetText("0");
466
468
469 //FOG
470 m_FogValue = 0;
473
474 // OVERCAST
475 m_OvercastValue = 0;
478
479 //RAIN
480 m_RainValue = 0;
483
484 //SNOWFALL
485 m_SnowfallValue = 0;
488
489 // Vol Fog
492
495
498
499 // Wind Magnitude
503
504 // Wind Direction
508 }
509
510 protected void InitValues(bool forceCurrent = false)
511 {
512 // FOG
513 float fogVal = m_FogValue;
514 if (forceCurrent || m_FogValue == -1)
515 {
516 fogVal = g_Game.GetWeather().GetFog().GetActual();
517 }
518 m_FogValueEditbox.SetText(fogVal.ToString());
519
521
522 if (m_FogDurationTimeValue == -1)
525
527 m_FogDurationMaxText.SetText(DURATION_MAX.ToString());
528
529 // OVERCAST
530 float overcastVal = m_OvercastValue;
531 if (forceCurrent || m_OvercastValue == -1)
532 {
533 overcastVal = g_Game.GetWeather().GetOvercast().GetActual();
534 }
535 m_OvercastValueEditbox.SetText(overcastVal.ToString());
536
538
539
543
545 m_OvercastDurationMaxText.SetText(DURATION_MAX.ToString());
546
547 // RAIN
548 float rainVal = m_RainValue;
549 if (forceCurrent || m_RainValue == -1)
550 {
551 rainVal = g_Game.GetWeather().GetRain().GetActual();
552 }
553
554 m_RainValueEditbox.SetText(rainVal.ToString());
556
557 if (m_RainDurationTimeValue == -1)
560
562 m_RainDurationMaxText.SetText(DURATION_MAX.ToString());
563
564 // SNOWFALL
565 float snowfallVal = m_SnowfallValue;
566 if (forceCurrent || m_SnowfallValue == -1)
567 {
568 snowfallVal = g_Game.GetWeather().GetSnowfall().GetActual();
569 }
570
571 m_SnowfallValueEditbox.SetText(snowfallVal.ToString());
573
577
579 m_SnowfallDurationMaxText.SetText(DURATION_MAX.ToString());
580
581 // VOLFOG
582 float volFogDistanceDensityValue = m_VolFogDistanceDensityValue;
583 if (forceCurrent || m_VolFogDistanceDensityValue == -1)
584 {
585 volFogDistanceDensityValue = g_Game.GetWeather().GetDynVolFogDistanceDensity();
586 }
587
588 m_VolFogDistanceDensityEditbox.SetText(volFogDistanceDensityValue.ToString());
589
592
593 float volFogHeightDensityValue = m_VolFogHeightDensityValue;
594 if (forceCurrent || m_VolFogHeightDensityValue == -1)
595 {
596 volFogHeightDensityValue = g_Game.GetWeather().GetDynVolFogHeightDensity();
597 }
598
599 m_VolFogHeightDensityEditbox.SetText(volFogHeightDensityValue.ToString());
600
603
604 float volFogHeightBiasValue = m_VolFogHeightBiasValue;
605 if (forceCurrent /*|| m_VolFogHeightBiasValue == -500*/)
606 {
607 volFogHeightBiasValue = g_Game.GetWeather().GetDynVolFogHeightBias();
608 }
609
610 m_VolFogHeightBiasEditbox.SetText(volFogHeightBiasValue.ToString());
611
614
615 // Wind Magnitude
616 float windMagnitudeVal = m_WindMagnitudeValue;
617 if (forceCurrent || m_WindMagnitudeValue == -1)
618 {
619 windMagnitudeVal = g_Game.GetWeather().GetWindMagnitude().GetActual();
620 }
621
622 m_WindMValueEditbox.SetText(windMagnitudeVal.ToString());
624
625 if (m_WindMDurationTimeValue == -1)
628
630 m_WindMDurationMaxText.SetText(DURATION_MAX.ToString());
631
632 // Wind Direction
633 float windDirectionVal = m_WindDirectionValue;
634 if (forceCurrent || m_WindDirectionValue == -1)
635 {
636 windDirectionVal = g_Game.GetWeather().GetWindDirection().GetActual();
637 }
638
639 m_WindDValueEditbox.SetText(windDirectionVal.ToString());
641
642 if (m_WindDDurationTimeValue == -1)
645
647 m_WindDDurationMaxText.SetText(DURATION_MAX.ToString());
648
650 }
651
652 protected void PasteValues(string clipboard)
653 {
654 TStringArray values = new TStringArray();
655 clipboard.Split(" ", values);
656 if (values.Count() >= 9)
657 {
658 // FOG
659 m_FogValueEditbox.SetText(values.Get(0));
660 m_FogInterpolationEditbox.SetText(values.Get(1));
661 m_FogDurationEditbox.SetText(values.Get(2));
662 // OVERCAST
663 m_OvercastValueEditbox.SetText(values.Get(3));
664 m_OvercastInterpolationEditbox.SetText(values.Get(4));
665 m_OvercastDurationEditbox.SetText(values.Get(5));
666 // RAIN
667 m_RainValueEditbox.SetText(values.Get(6));
668 m_RainInterpolationEditbox.SetText(values.Get(7));
669 m_RainDurationEditbox.SetText(values.Get(8));
670
671 if (values.Count() >= 12)
672 {
673 // SNOWFALL
674 m_SnowfallValueEditbox.SetText(values.Get(9));
675 m_SnowfallInterpolationEditbox.SetText(values.Get(10));
676 m_SnowfallDurationEditbox.SetText(values.Get(11));
677 }
678
679 if (values.Count() >= 18)
680 {
681 // VOL FOG
682 m_VolFogDistanceDensityEditbox.SetText(values.Get(12));
683 m_VolFogDistanceDensityTimeEditbox.SetText(values.Get(13));
684 m_VolFogHeightDensityEditbox.SetText(values.Get(14));
685 m_VolFogHeightDensityTimeEditbox.SetText(values.Get(15));
686 m_VolFogHeightBiasEditbox.SetText(values.Get(16));
687 m_VolFogHeightBiasTimeEditbox.SetText(values.Get(17));
688 }
689
690 if (values.Count() >= 24)
691 {
692 // WIND MAGNITUDE
693 m_WindMValueEditbox.SetText(values.Get(18));
694 m_WindMInterpolationEditbox.SetText(values.Get(19));
695 m_WindMDurationEditbox.SetText(values.Get(20));
696 // WIND DIRECTION
697 m_WindDValueEditbox.SetText(values.Get(21));
698 m_WindDInterpolationEditbox.SetText(values.Get(22));
699 m_WindDDurationEditbox.SetText(values.Get(23));
700 }
701 }
702 }
703
704 protected string CopyValues()
705 {
706 string output;
707
708 // FOG
709 output += m_FogValueEditbox.GetText();
710 output += " ";
711 output += m_FogInterpolationEditbox.GetText();
712 output += " ";
713 output += m_FogDurationEditbox.GetText();
714 output += " ";
715 // OVERCAST
716 output += m_OvercastValueEditbox.GetText();
717 output += " ";
718 output += m_OvercastInterpolationEditbox.GetText();
719 output += " ";
720 output += m_OvercastDurationEditbox.GetText();
721 output += " ";
722 // RAIN
723 output += m_RainValueEditbox.GetText();
724 output += " ";
725 output += m_RainInterpolationEditbox.GetText();
726 output += " ";
727 output += m_RainDurationEditbox.GetText();
728 output += " ";
729 // SNOWFALL
730 output += m_SnowfallValueEditbox.GetText();
731 output += " ";
732 output += m_SnowfallInterpolationEditbox.GetText();
733 output += " ";
734 output += m_SnowfallDurationEditbox.GetText();
735 output += " ";
736 // VOLFOG
737 output += m_VolFogDistanceDensityEditbox.GetText();
738 output += " ";
739 output += m_VolFogDistanceDensityTimeEditbox.GetText();
740 output += " ";
741 output += m_VolFogHeightDensityEditbox.GetText();
742 output += " ";
743 output += m_VolFogHeightDensityTimeEditbox.GetText();
744 output += " ";
745 output += m_VolFogHeightBiasEditbox.GetText();
746 output += " ";
747 output += m_VolFogHeightBiasTimeEditbox.GetText();
748 output += " ";
749 // WIND MAGNITUDE
750 output += m_WindMValueEditbox.GetText();
751 output += " ";
752 output += m_WindMInterpolationEditbox.GetText();
753 output += " ";
754 output += m_WindMDurationEditbox.GetText();
755 output += " ";
756 // WIND DIRECTION
757 output += m_WindDValueEditbox.GetText();
758 output += " ";
759 output += m_WindDInterpolationEditbox.GetText();
760 output += " ";
761 output += m_WindDDurationEditbox.GetText();
762
763 return output;
764 }
765
766 override bool OnChange(Widget w, int x, int y, bool finished)
767 {
768 bool rmbDrag = (GetMouseState(MouseState.RIGHT) & MB_PRESSED_MASK);
769 bool immDrag = (GetMouseState(MouseState.LEFT) & MB_PRESSED_MASK) && KeyState(KeyCode.KC_LSHIFT);
770
771 if (rmbDrag)
772 {
773 if (w == m_FogValueSetSlider)
774 {
775 m_OvercastValueSetSlider.SetCurrent(m_FogValueSetSlider.GetCurrent());
776 m_RainValueSetSlider.SetCurrent(m_FogValueSetSlider.GetCurrent());
777 m_SnowfallValueSetSlider.SetCurrent(m_FogValueSetSlider.GetCurrent());
778 }
779 else if (w == m_OvercastValueSetSlider)
780 {
781 m_FogValueSetSlider.SetCurrent(m_OvercastValueSetSlider.GetCurrent());
782 m_RainValueSetSlider.SetCurrent(m_OvercastValueSetSlider.GetCurrent());
783 m_SnowfallValueSetSlider.SetCurrent(m_OvercastValueSetSlider.GetCurrent());
784 }
785 else if (w == m_RainValueSetSlider)
786 {
787 m_FogValueSetSlider.SetCurrent(m_RainValueSetSlider.GetCurrent());
788 m_OvercastValueSetSlider.SetCurrent(m_RainValueSetSlider.GetCurrent());
789 m_SnowfallValueSetSlider.SetCurrent(m_RainValueSetSlider.GetCurrent());
790 }
791 else if (w == m_SnowfallValueSetSlider)
792 {
793 m_FogValueSetSlider.SetCurrent(m_SnowfallValueSetSlider.GetCurrent());
794 m_OvercastValueSetSlider.SetCurrent(m_SnowfallValueSetSlider.GetCurrent());
795 m_RainValueSetSlider.SetCurrent(m_SnowfallValueSetSlider.GetCurrent());
796 }
797 else if (w == m_FogInterpolationTimeSlider)
798 {
802 }
804 {
808 }
809
810 else if (w == m_RainInterpolationTimeSlider)
811 {
815 }
817 {
821 }
822 else if (w == m_FogDurationTimeSlider)
823 {
824 m_RainDurationTimeSlider.SetCurrent(m_FogDurationTimeSlider.GetCurrent());
827 }
828 else if (w == m_RainDurationTimeSlider)
829 {
830 m_FogDurationTimeSlider.SetCurrent(m_RainDurationTimeSlider.GetCurrent());
833 }
834 else if (w == m_OvercastDurationTimeSlider)
835 {
839 }
840 else if (w == m_SnowfallDurationTimeSlider)
841 {
845 }
846 }
847
848 SliderWidget slider = SliderWidget.Cast(w);
849 if (slider)
850 {
851 if ((rmbDrag||immDrag) && !m_RPCTimer.IsRunning())
852 {
854 m_RPCTimer.Run(0.25, this, "InvokeSendRPC");
855 }
857 return true;
858 }
859
860 EditBoxWidget box = EditBoxWidget.Cast(w);
861 if (box)
862 {
864 return true;
865 }
866
867 return false;
868 }
869
871 {
872 //fog
873 float editboxFogValue = m_FogValueEditbox.GetText().ToFloat();
874 m_FogValueSetSlider.SetCurrent(editboxFogValue * 100);
875
876 float editboxFogInterpolation = m_FogInterpolationEditbox.GetText().ToFloat();
877 m_FogInterpolationTimeSlider.SetCurrent(Math.InverseLerp(0,INTERPOLATION_MAX,editboxFogInterpolation) * 100);
878
879 float editboxFogDuration = m_FogDurationEditbox.GetText().ToFloat();
880 m_FogDurationTimeSlider.SetCurrent(Math.InverseLerp(0,INTERPOLATION_MAX,editboxFogDuration) * 100);
881
882 //overcast
883 float editboxOvercastValue = m_OvercastValueEditbox.GetText().ToFloat();
884 m_OvercastValueSetSlider.SetCurrent(editboxOvercastValue * 100);
885
886 float editboxOvercastInterpolation = m_OvercastInterpolationEditbox.GetText().ToFloat();
887 m_OvercastInterpolationTimeSlider.SetCurrent(Math.InverseLerp(0,INTERPOLATION_MAX,editboxOvercastInterpolation) * 100);
888
889 float editboxOvercastDuration = m_OvercastDurationEditbox.GetText().ToFloat();
890 m_OvercastDurationTimeSlider.SetCurrent(Math.InverseLerp(0,INTERPOLATION_MAX,editboxOvercastDuration) * 100);
891
892 //rain
893 float editboxRainValue = m_RainValueEditbox.GetText().ToFloat();
894 m_RainValueSetSlider.SetCurrent(editboxRainValue * 100);
895
896 float editboxRainInterpolation = m_RainInterpolationEditbox.GetText().ToFloat();
897 m_RainInterpolationTimeSlider.SetCurrent(Math.InverseLerp(0,INTERPOLATION_MAX,editboxRainInterpolation) * 100);
898
899 float editboxRainDuration = m_RainDurationEditbox.GetText().ToFloat();
900 m_RainDurationTimeSlider.SetCurrent(Math.InverseLerp(0,INTERPOLATION_MAX,editboxRainDuration) * 100);
901
902 //snowfall
903 float editboxSnowfallValue = m_SnowfallValueEditbox.GetText().ToFloat();
904 m_SnowfallValueSetSlider.SetCurrent(editboxSnowfallValue * 100);
905
906 float editboxSnowfallInterpolation = m_SnowfallInterpolationEditbox.GetText().ToFloat();
907 m_SnowfallInterpolationTimeSlider.SetCurrent(Math.InverseLerp(0,INTERPOLATION_MAX,editboxSnowfallInterpolation) * 100);
908
909 float editboxSnowfallDuration = m_SnowfallDurationEditbox.GetText().ToFloat();
910 m_SnowfallDurationTimeSlider.SetCurrent(Math.InverseLerp(0,INTERPOLATION_MAX,editboxSnowfallDuration) * 100);
911
912 // vol fog
913 float editboxVolFogDistanceDensity = m_VolFogDistanceDensityEditbox.GetText().ToFloat();
914 m_VolFogDistanceDensitySlider.SetCurrent(editboxVolFogDistanceDensity);
915
916 float editboxVolFogDistanceDensityTime = m_VolFogDistanceDensityTimeEditbox.GetText().ToFloat();
917 m_VolFogDistanceDensityTimeSlider.SetCurrent(Math.InverseLerp(0,DURATION_MAX,editboxVolFogDistanceDensityTime) * 100);
918
919 float editboxVolFogHeightDensity = m_VolFogHeightDensityEditbox.GetText().ToFloat();
920 m_VolFogHeightDensitySlider.SetCurrent(editboxVolFogHeightDensity);
921
922 float editboxVolFogHeightDensityTime = m_VolFogHeightDensityTimeEditbox.GetText().ToFloat();
923 m_VolFogHeightDensityTimeSlider.SetCurrent(Math.InverseLerp(0,DURATION_MAX,editboxVolFogHeightDensityTime) * 100);
924
925 float editboxVolFogHeightBias = m_VolFogHeightBiasEditbox.GetText().ToFloat();
926 m_VolFogHeightBiasSlider.SetCurrent(editboxVolFogHeightBias);
927
928 float editboxVolFogHeightBiasTime = m_VolFogHeightBiasTimeEditbox.GetText().ToFloat();
929 m_VolFogHeightBiasTimeSlider.SetCurrent(Math.InverseLerp(0,DURATION_MAX,editboxVolFogHeightBiasTime) * 100);
930
931 // wind magnitude
932 float editboxWindMValue = m_WindMValueEditbox.GetText().ToFloat();
933 m_WindMValueSetSlider.SetCurrent(editboxWindMValue);
934
935 float editboxWindMInterpolation = m_WindMInterpolationEditbox.GetText().ToFloat();
936 m_WindMInterpolationTimeSlider.SetCurrent(Math.InverseLerp(0,INTERPOLATION_MAX,editboxWindMInterpolation) * 100);
937
938 float editboxWindMDuration = m_WindMDurationEditbox.GetText().ToFloat();
939 m_WindMDurationTimeSlider.SetCurrent(Math.InverseLerp(0,INTERPOLATION_MAX,editboxWindMDuration) * 100);
940
941 // wind direction
942 float editboxWindDValue = m_WindDValueEditbox.GetText().ToFloat();
943 m_WindDValueSetSlider.SetCurrent(editboxWindDValue);
944
945 float editboxWindDInterpolation = m_WindDInterpolationEditbox.GetText().ToFloat();
946 m_WindDInterpolationTimeSlider.SetCurrent(Math.InverseLerp(0,INTERPOLATION_MAX,editboxWindDInterpolation) * 100);
947
948 float editboxWindDDuration = m_WindDDurationEditbox.GetText().ToFloat();
949 m_WindDDurationTimeSlider.SetCurrent(Math.InverseLerp(0,INTERPOLATION_MAX,editboxWindDDuration) * 100);
950 }
951
953 {
954 //fog
957
960
961 m_FogValue = m_FogValueSetSlider.GetCurrent() / 100;
962 m_FogValueEditbox.SetText(m_FogValue.ToString());
963
964 //overcast
967
970
971 m_OvercastValue = m_OvercastValueSetSlider.GetCurrent() / 100;
972 m_OvercastValueEditbox.SetText(m_OvercastValue.ToString());
973
974 //rain
977
980
981 m_RainValue = m_RainValueSetSlider.GetCurrent() / 100;
982 m_RainValueEditbox.SetText(m_RainValue.ToString());
983
984 //snowfall
987
990
991 m_SnowfallValue = m_SnowfallValueSetSlider.GetCurrent() / 100;
992 m_SnowfallValueEditbox.SetText(m_SnowfallValue.ToString());
993
994 // vol fog
997
1000
1003
1006
1009
1012
1013 //wind magnitude
1016
1019
1021 m_WindMValueEditbox.SetText(m_WindMagnitudeValue.ToString());
1022
1023 //wind direction
1026
1029
1031 m_WindDValueEditbox.SetText(m_WindDirectionValue.ToString());
1032 }
1033
1034 override bool OnClick(Widget w, int x, int y, int button)
1035 {
1036 if (w == m_HideUIButton)
1037 {
1039 }
1040 else if (w == m_ApplyButton)
1041 {
1043 return true;
1044 }
1045 else if (w == m_UpdateButton)
1046 {
1047 InitValues(true);
1048 return true;
1049 }
1050 else if (w == m_ResetButton)
1051 {
1052 ResetValues();
1053 InitValues(true);
1054 return true;
1055 }
1056 else if (w == m_CopyButton)
1057 {
1058 string output = CopyValues();
1059 g_Game.CopyToClipboard(output);
1060 return true;
1061 }
1062
1063 else if (w == m_PasteButton)
1064 {
1065 string input;
1066 g_Game.CopyFromClipboard(input);
1067 PasteValues(input);
1069 return true;
1070 }
1071 else if (w == m_LoadPresetButton)
1072 {
1074 return true;
1075 }
1076 else if (w == m_SavePresetButton)
1077 {
1079 return true;
1080 }
1081 else if (w == m_DeletePresetButton)
1082 {
1084 return true;
1085 }
1086
1087 return false;
1088 }
1089
1090 protected void SaveWeatherPreset()
1091 {
1092 if (m_IsSavingPreset || m_WeatherPresetEditbox.GetText() == "")
1093 return;
1094
1095 m_IsSavingPreset = true;
1096 m_ConfigDebugProfile.AddWeatherPreset(m_WeatherPresetEditbox.GetText(), m_OvercastValueEditbox.GetText().ToFloat(), m_RainValueEditbox.GetText().ToFloat(), m_SnowfallValueEditbox.GetText().ToFloat(), m_FogValueEditbox.GetText().ToFloat(), m_WindMValueEditbox.GetText().ToFloat(), m_WindDValueEditbox.GetText().ToFloat(), m_VolFogDistanceDensityEditbox.GetText().ToFloat(), m_VolFogHeightDensityEditbox.GetText().ToFloat(), m_VolFogHeightBiasEditbox.GetText().ToFloat());
1098 m_IsSavingPreset = false;
1099 }
1100
1101 protected void DeleteWeatherPreset()
1102 {
1104 return;
1105
1106 m_ConfigDebugProfile.RemoveWeatherPreset(m_SelectedWeatherPreset.Name);
1108 }
1109
1110 protected void LoadWeatherPreset()
1111 {
1113 return;
1114
1115 m_OvercastValueSetSlider.SetCurrent(m_SelectedWeatherPreset.WOvercast * 100);
1116 m_RainValueSetSlider.SetCurrent(m_SelectedWeatherPreset.WRain * 100);
1117 m_SnowfallValueSetSlider.SetCurrent(m_SelectedWeatherPreset.WSnow * 100);
1118 m_FogValueSetSlider.SetCurrent(m_SelectedWeatherPreset.WFog * 100);
1119 m_WindMValueSetSlider.SetCurrent(m_SelectedWeatherPreset.WWindMagnitude);
1124
1127 InvokeSendRPC();
1128 }
1129
1130 protected void OnListItemSelected(int row, int column)
1131 {
1132 m_SelectedWeatherPreset = m_ConfigDebugProfile.GetWeatherPresets().Get(row);
1134 }
1135
1136 protected void ToogleUIVisibility()
1137 {
1139 m_ScriptConsole.ShowMenuBackground(m_UIVisibilityState);
1140 m_Root.FindAnyWidget("WeatherRoot").Show(m_UIVisibilityState);
1142 }
1143
1144 //RPC data where each value is strickly as shown in the UI on the sliders
1146 {
1148 // FOG
1149 data.m_FogValue = m_FogValueSetSlider.GetCurrent() / 100;
1151 data.m_FogDuration = m_FogDurationTimeSlider.GetCurrent() / 100 * DURATION_MAX;
1152
1153 // Rain
1154 data.m_RainValue = m_RainValueSetSlider.GetCurrent() / 100;
1156 data.m_RainDuration = m_RainDurationTimeSlider.GetCurrent() / 100 * DURATION_MAX;
1157
1158 // OVERCAST
1159 data.m_OvercastValue = m_OvercastValueSetSlider.GetCurrent() / 100;
1162
1163 // SNOWFALL
1164 data.m_SnowfallValue = m_SnowfallValueSetSlider.GetCurrent() / 100;
1167
1168 // VOLFOG
1171
1174
1175 data.m_VolFogHeightBias = m_VolFogHeightBiasSlider.GetCurrent();
1177
1178 // Wind Magnitude
1179 data.m_WindMagnitudeValue = m_WindMValueSetSlider.GetCurrent();
1181 data.m_WindMDuration = m_WindMDurationTimeSlider.GetCurrent() / 100 * DURATION_MAX;
1182
1183 // Wind Direction
1184 data.m_WindDirectionValue = m_WindDValueSetSlider.GetCurrent();
1186 data.m_WindDDuration = m_WindDDurationTimeSlider.GetCurrent() / 100 * DURATION_MAX;
1187
1188 return data;
1189 }
1190
1191 //RPC data where the duration and interpolation times are forced(their slider values are ignored) to allow for immediate change and lasting effect
1193 {
1195 // FOG
1196 data.m_FogValue = m_FogValueSetSlider.GetCurrent() / 100;
1197 data.m_FogInterpolation = 0;
1198 data.m_FogDuration = 960;
1199
1200 // Rain
1201 data.m_RainValue = m_RainValueSetSlider.GetCurrent() / 100;
1202 data.m_RainInterpolation = 0;
1203 data.m_RainDuration = 960;
1204
1205 // OVERCAST
1206 data.m_OvercastValue = m_OvercastValueSetSlider.GetCurrent() / 100;
1207 data.m_OvercastInterpolation = 0;
1208 data.m_OvercastDuration = 960;
1209
1210 // SNOWFALL
1211 data.m_SnowfallValue = m_SnowfallValueSetSlider.GetCurrent() / 100;
1212 data.m_SnowfallInterpolation = 0;
1213 data.m_SnowfallDuration = 960;
1214
1215 // VOLFOG
1218
1221
1222 data.m_VolFogHeightBias = m_VolFogHeightBiasSlider.GetCurrent();
1224
1225 // Wind Magnitude
1226 data.m_WindMagnitudeValue = m_WindMValueSetSlider.GetCurrent();
1227 data.m_WindMInterpolation = 0;
1228 data.m_WindMDuration = 960;
1229
1230 // Wind Direction
1231 data.m_WindDirectionValue = m_WindDValueSetSlider.GetCurrent();
1232 data.m_WindDInterpolation = 0;
1233 data.m_WindDDuration = 960;
1234
1235 return data;
1236 }
1237
1238 protected void SendRPC(DebugWeatherRPCData data)
1239 {
1240 PlayerIdentity identity = null;
1241 if (g_Game.GetPlayer())
1242 {
1243 identity = g_Game.GetPlayer().GetIdentity();
1244 }
1245
1246 if (g_Game.IsDedicatedServer())
1247 {
1248 // have to define earlier due to 'ScriptReadWriteContext' asserting on attempting to
1249 // decrement ref count of the serializers. This is due to the Serializers being inline allocated
1250 ParamsWriteContext wCtx;
1251 ParamsReadContext rCtx;
1252
1254
1255 // see above comment
1256 wCtx = ctx.GetWriteContext();
1257 rCtx = ctx.GetReadContext();
1258
1259 // aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa it was null for some reason
1260 Param1<DebugWeatherRPCData> d = new Param1<DebugWeatherRPCData>(data);
1261
1262 wCtx.Write(d);
1263
1264 g_Game.OnRPC(null, null, ERPCs.DEV_SET_WEATHER, rCtx);
1265 }
1266 else
1267 {
1268 g_Game.RPCSingleParam(null, ERPCs.DEV_SET_WEATHER, new Param1<DebugWeatherRPCData>(data), true, identity);
1269 }
1270 }
1271
1272 protected void InvokeSendRPC()
1273 {
1275 //m_RPCTimer.Stop();
1276 }
1277
1278 protected void UpdateWeatherValues()
1279 {
1280 float overcast = g_Game.GetWeather().GetOvercast().GetActual();
1281 m_OvercastValueGetSlider.SetCurrent(overcast * 100);
1282 m_OvercastValueSetText.SetText(overcast.ToString());
1283
1284 float fog = g_Game.GetWeather().GetFog().GetActual();
1285 m_FogValueGetSlider.SetCurrent(fog * 100);
1286 m_FogValueSetText.SetText(fog.ToString());
1287
1288 float rain = g_Game.GetWeather().GetRain().GetActual();
1289 m_RainValueGetSlider.SetCurrent(rain * 100);
1290 m_RainValueSetText.SetText(rain.ToString());
1291
1292 float snowfall = g_Game.GetWeather().GetSnowfall().GetActual();
1293 m_SnowfallValueGetSlider.SetCurrent(snowfall * 100);
1294 m_SnowfallValueSetText.SetText(snowfall.ToString());
1295
1296 float volFogDistanceDensity = g_Game.GetWeather().GetDynVolFogDistanceDensity();
1297 //m_VolFogDistanceDensitySlider.SetCurrent(volFogDistanceDensity * 100);
1298 m_VolFogDistanceDensitySetText.SetText(volFogDistanceDensity.ToString());
1299
1300 float volFogHeightDensity = g_Game.GetWeather().GetDynVolFogHeightDensity();
1301 //m_VolFogHeightDensitySlider.SetCurrent(volFogHeightDensity * 100);
1302 m_VolFogHeightDensitySetText.SetText(volFogHeightDensity.ToString());
1303
1304 float volFogHeightBias = g_Game.GetWeather().GetDynVolFogHeightBias();
1305 //m_VolFogHeightBiasSlider.SetCurrent(volFogHeightBias * 100);
1306 m_VolFogHeightBiasSetText.SetText(volFogHeightBias.ToString());
1307
1308 float windMagnitude = g_Game.GetWeather().GetWindMagnitude().GetActual();
1309 m_WindMValueGetSlider.SetCurrent(windMagnitude);
1310 m_WindMValueSetText.SetText(windMagnitude.ToString());
1311
1312 float windDirection = g_Game.GetWeather().GetWindDirection().GetActual();
1313 m_WindDValueGetSlider.SetCurrent(windDirection);
1314 m_WindDValueSetText.SetText(windDirection.ToString());
1315 }
1316
1317 override void Update(float timeslice)
1318 {
1319 super.Update(timeslice);
1320
1322
1323 m_IsCAPSPressed = KeyState(KeyCode.KC_CAPITAL);
1325 {
1326 if (g_Game && g_Game.GetMission() && g_Game.GetUIManager())
1327 {
1329 g_Game.GetMission().RemoveActiveInputExcludes({"aiming"});
1330 g_Game.GetUIManager().ShowUICursor(false);
1331 }
1332 }
1334 {
1335 if (g_Game && g_Game.GetMission() && g_Game.GetUIManager())
1336 {
1337 m_MouseMovementEnabled = false;
1338 g_Game.GetMission().AddActiveInputExcludes({"aiming"});
1339 g_Game.GetUIManager().ShowUICursor(true);
1340 }
1341 }
1342
1344 {
1345 m_CanUseMovement = true;
1346 g_Game.GetMission().RemoveActiveInputExcludes({"UAMoveForward", "UAMoveBack", "UAMoveLeft", "UAMoveRight", "UAWalkRunTemp"});
1347 }
1349 {
1350 m_CanUseMovement = false;
1351 g_Game.GetMission().AddActiveInputExcludes({"UAMoveForward", "UAMoveBack", "UAMoveLeft", "UAMoveRight", "UAWalkRunTemp"});
1352 }
1353 }
1354
1355 override bool OnMouseEnter(Widget w, int x, int y)
1356 {
1357 ButtonHighlight(w);
1358 return false;
1359 }
1360
1361 override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
1362 {
1363 ButtonNormal(w);
1364 return false;
1365 }
1366
1367 protected void ButtonHighlight(Widget w)
1368 {
1369 ButtonWidget wb;
1370 if (Class.CastTo(wb, w))
1371 {
1372 if (wb.GetName() == "ButtonHide")
1373 {
1374 ImageWidget iw = ImageWidget.Cast(wb.FindAnyWidget(wb.GetName() + "Icon"));
1375 iw.SetColor(ARGB(255, 0, 0, 0));
1376 }
1377 else
1378 {
1379 wb.SetTextColor(ARGB(255, 0, 0, 0));
1380 }
1381 }
1382 }
1383
1384 protected void ButtonNormal(Widget w)
1385 {
1386 ButtonWidget wb;
1387 if (Class.CastTo(wb, w))
1388 {
1389 if (wb.GetName() == "ButtonHide")
1390 {
1391 ImageWidget iw = ImageWidget.Cast(wb.FindAnyWidget(wb.GetName() + "Icon"));
1392 iw.SetColor(ARGB(255, 255, 255, 255));
1393 }
1394 else
1395 {
1396 wb.SetTextColor(ARGB(255, 255, 255, 255));
1397 }
1398 }
1399 }
1400}
1401
1403{
1405
1406 void ScriptConsoleWeatherWindTab(Widget root, ScriptConsole console, Widget button, ScriptConsoleTabBase parent = null)
1407 {
1408 m_Parent = parent;
1410 }
1411}
Super root of all classes in Enforce script.
Definition enscript.c:11
Definition enmath.c:7
The class that will be instanced (moddable).
Definition gameplay.c:389
void ScriptConsoleTabBase(Widget root, ScriptConsole console, Widget button, ScriptConsoleTabBase parent=null)
bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
bool OnClick(Widget w, int x, int y, int button)
bool OnMouseEnter(Widget w, int x, int y)
bool OnChange(Widget w, int x, int y, bool finished)
ScriptConsoleTabBase m_Parent
void ScriptConsoleWeatherWindTab(Widget root, ScriptConsole console, Widget button, ScriptConsoleTabBase parent=null)
proto native ParamsReadContext GetReadContext()
proto native ParamsWriteContext GetWriteContext()
proto bool Write(void value_out)
proto string ToString(bool simple=true)
DayZGame g_Game
Definition dayzgame.c:3942
void SendRPC()
ERPCs
Definition erpcs.c:2
Serializer ParamsReadContext
Definition gameplay.c:15
Serializer ParamsWriteContext
Definition gameplay.c:16
enum ShapeType ErrorEx
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
array< string > TStringArray
Definition enscript.c:712
KeyCode
Definition ensystem.c:157
proto native int KeyState(KeyCode key)
Gets key state.
static proto float InverseLerp(float a, float b, float value)
Calculates the linear value that produces the interpolant value within the range [a,...
MouseState
Definition ensystem.c:311
proto native int GetMouseState(MouseState index)
Returns state of mouse button.
void Split(string sample, out array< string > output)
Splits string into array of strings separated by 'sample'.
Definition enstring.c:396
proto native Widget GetFocus()
proto native volatile void Update()
proto native Widget GetWidgetUnderCursor()
Icon x
Icon y
PluginConfigDebugProfile m_ConfigDebugProfile
override void InitValues()
int ARGB(int a, int r, int g, int b)
Definition proto.c:322
SliderWidget m_SnowfallValueGetSlider
static float m_OvercastInterpolationTimeValue
TextWidget m_WindMDurationMaxText
SliderWidget m_WindDInterpolationTimeSlider
ButtonWidget m_CopyButton
ButtonWidget m_HideUIButton
EditBoxWidget m_FogDurationEditbox
TextWidget m_VolFogHeightDensityMinText
SliderWidget m_OvercastValueGetSlider
void ToogleUIVisibility()
DebugWeatherRPCData GetRPCDataNormal()
static float m_RainInterpolationTimeValue
ScriptConsoleWeatherPreset m_SelectedWeatherPreset
void InvokeSendRPC()
SliderWidget m_RainValueSetSlider
TextWidget m_VolFogHeightBiasMaxText
static float m_VolFogHeightBiasValue
bool m_IsCAPSPressed
bool m_MouseMovementEnabled
EditBoxWidget m_SnowfallValueEditbox
SliderWidget m_VolFogHeightDensityTimeSlider
SliderWidget m_VolFogHeightBiasTimeSlider
EditBoxWidget m_VolFogHeightBiasTimeEditbox
EditBoxWidget m_VolFogHeightBiasEditbox
void SaveWeatherPreset()
EditBoxWidget m_VolFogDistanceDensityTimeEditbox
static float m_VolFogDistanceDensityValue
void ResetValues()
TextWidget m_VolFogHeightDensitySetText
TextWidget m_WindMValueSetText
void UpdateSliderValues()
TextWidget m_VolFogHeightBiasSetText
void UpdateWeatherValues()
TextWidget m_VolFogHeightBiasMinText
static float m_WindMInterpolationTimeValue
void DeleteWeatherPreset()
SliderWidget m_WindDDurationTimeSlider
static float m_WindDInterpolationTimeValue
SliderWidget m_VolFogDistanceDensityTimeSlider
TextWidget m_VolFogHeightBiasTimeMaxText
static float m_RainDurationTimeValue
bool m_IsSavingPreset
TextWidget m_WindDDurationMaxText
TextWidget m_SnowfallInterpolationMaxText
TextWidget m_VolFogDistanceDensitySetText
TextWidget m_VolFogHeightDensityTimeMaxText
static float m_SnowfallDurationTimeValue
EditBoxWidget m_FogValueEditbox
SliderWidget m_RainDurationTimeSlider
SliderWidget m_FogValueSetSlider
SliderWidget m_SnowfallValueSetSlider
SliderWidget m_FogValueGetSlider
EditBoxWidget m_SnowfallInterpolationEditbox
SliderWidget m_FogDurationTimeSlider
TextWidget m_VolFogDistanceDensityTimeMinText
EditBoxWidget m_OvercastDurationEditbox
EditBoxWidget m_WeatherPresetEditbox
static float m_VolFogHeightDensityValue
ButtonWidget m_LoadPresetButton
EditBoxWidget m_FogInterpolationEditbox
EditBoxWidget m_VolFogHeightDensityTimeEditbox
static float m_FogValue
ButtonWidget m_PasteButton
ButtonWidget m_ResetButton
void PasteValues(string clipboard)
SliderWidget m_OvercastInterpolationTimeSlider
TextWidget m_RainInterpolationMaxText
static float m_RainValue
static float m_VolFogHeightDensityTimeValue
TextWidget m_SnowfallValueSetText
SliderWidget m_WindMInterpolationTimeSlider
static float m_WindMagnitudeValue
EditBoxWidget m_WindMInterpolationEditbox
static float m_OvercastDurationTimeValue
static float m_WindDirectionValue
SliderWidget m_SnowfallInterpolationTimeSlider
void ScriptConsoleWeatherTab(Widget root, ScriptConsole console, Widget button, ScriptConsoleTabBase parent=null)
DebugWeatherRPCData GetRPCDataImmediate()
EditBoxWidget m_VolFogHeightDensityEditbox
TextWidget m_SnowfallDurationMaxText
TextWidget m_VolFogDistanceDensityMinText
EditBoxWidget m_WindDValueEditbox
EditBoxWidget m_WindMDurationEditbox
ButtonWidget m_DeletePresetButton
TextWidget m_OvercastInterpolationMaxText
TextWidget m_WindDInterpolationMaxText
TextWidget m_VolFogHeightBiasTimeMinText
bool m_UIVisibilityState
SliderWidget m_RainInterpolationTimeSlider
string CopyValues()
static float m_SnowfallInterpolationTimeValue
void ReloadWeatherPresetsList()
SliderWidget m_RainValueGetSlider
TextWidget m_FogValueSetText
TextWidget m_FogInterpolationMaxText
Widget m_WeatherPresetsPanel
SliderWidget m_WindMValueSetSlider
TextWidget m_VolFogHeightDensityTimeMinText
static float m_WindDDurationTimeValue
TextWidget m_VolFogDistanceDensityTimeMaxText
static float m_VolFogHeightBiasTimeValue
class ScriptConsoleWeatherValues m_RPCTimer
static float m_WindMDurationTimeValue
void ~ScriptConsoleWeatherTab()
SliderWidget m_WindDValueSetSlider
TextWidget m_VolFogHeightBiasTimeSetText
TextWidget m_VolFogHeightDensityMaxText
void ButtonNormal(Widget w)
EditBoxWidget m_WindMValueEditbox
TextWidget m_VolFogDistanceDensityTimeSetText
static float m_FogInterpolationTimeValue
SliderWidget m_WindMValueGetSlider
void LoadWeatherPreset()
ButtonWidget m_SavePresetButton
SliderWidget m_SnowfallDurationTimeSlider
TextWidget m_RainDurationMaxText
EditBoxWidget m_RainInterpolationEditbox
TextWidget m_OvercastDurationMaxText
SliderWidget m_VolFogHeightBiasSlider
SliderWidget m_FogInterpolationTimeSlider
static float m_SnowfallValue
EditBoxWidget m_VolFogDistanceDensityEditbox
const int DURATION_MAX
SliderWidget m_WindMDurationTimeSlider
void OnListItemSelected(int row, int column)
EditBoxWidget m_OvercastValueEditbox
TextWidget m_VolFogDistanceDensityMaxText
ButtonWidget m_ApplyButton
TextWidget m_VolFogHeightDensityTimeSetText
SliderWidget m_VolFogDistanceDensitySlider
EditBoxWidget m_SnowfallDurationEditbox
ref ScriptConsolePresetsList m_WeatherPresetsList
SliderWidget m_OvercastValueSetSlider
TextWidget m_WindMInterpolationMaxText
static float m_OvercastValue
SliderWidget m_VolFogHeightDensitySlider
TextWidget m_RainValueSetText
void UpdateEditboxValues()
static float m_VolFogDistanceDensityTimeValue
EditBoxWidget m_RainDurationEditbox
const int INTERPOLATION_MAX
EditBoxWidget m_RainValueEditbox
TextWidget m_OvercastValueSetText
static float m_FogDurationTimeValue
EditBoxWidget m_OvercastInterpolationEditbox
EditBoxWidget m_WindDDurationEditbox
ImageWidget m_HideUIIcon
TextWidget m_FogDurationMaxText
EditBoxWidget m_WindDInterpolationEditbox
ButtonWidget m_UpdateButton
TextWidget m_WindDValueSetText
bool m_CanUseMovement
SliderWidget m_WindDValueGetSlider
SliderWidget m_OvercastDurationTimeSlider
void ButtonHighlight(Widget w)
Widget m_Root
Definition sizetochild.c:91