Dayz Explorer 1.29.162510
Loading...
Searching...
No Matches
mainmenuconsoles.c
Go to the documentation of this file.
1#ifndef BUILD_EXPERIMENTAL
2 #define ENABLE_CAROUSEL
3#endif
4
5class MainMenuConsole extends UIScriptedMenu
6{
7 protected ref MainMenuVideo m_Video;
8
9 protected MissionMainMenu m_Mission;
10 protected DayZIntroScenePC m_ScenePC;
11
12 protected TextWidget m_PlayerName;
13 protected TextWidget m_Version;
14
15 protected Widget m_MainMenuPanel;
16 protected Widget m_DialogPanel;
17 protected Widget m_ChangeAccount;
18 protected Widget m_CustomizeCharacter;
19 protected Widget m_PlayVideo;
20 protected Widget m_Tutorials;
21 protected Widget m_Options;
22 protected Widget m_Exit;
23 protected Widget m_Controls;
24 protected Widget m_Play;
25 protected Widget m_MessageButton;
26 protected Widget m_ShowFeedback;
27 protected ImageWidget m_FeedbackQRCode;
28 protected ImageWidget m_FeedbackPlatformIcon;
29 protected ButtonWidget m_FeedbackClose;
31
32 protected ref Widget m_LastFocusedButton;
33
34 protected Widget m_DlcFrame;
35
36 protected ref NewsCarousel m_NewsCarousel;
37
38 protected Widget m_NewsCarouselFrame;
39 protected Widget m_DisplayCarousel;
40
42 protected int m_Width, m_Height;
43
44 override Widget Init()
45 {
46 #ifdef PLATFORM_MSSTORE
47 layoutRoot = g_Game.GetWorkspace().CreateWidgets("gui/layouts/new_ui/main_menu_msstore.layout");
48 #else
49 layoutRoot = g_Game.GetWorkspace().CreateWidgets("gui/layouts/new_ui/main_menu_console.layout");
50 #endif
51
52 m_MainMenuPanel = layoutRoot.FindAnyWidget("main_menu_panel");
53 m_PlayerName = TextWidget.Cast(layoutRoot.FindAnyWidget("character_name_xbox"));
54 m_ChangeAccount = layoutRoot.FindAnyWidget("choose_account");
55 m_CustomizeCharacter = layoutRoot.FindAnyWidget("customize_character");
56 m_PlayVideo = layoutRoot.FindAnyWidget("play_video");
57 m_Tutorials = layoutRoot.FindAnyWidget("tutorials");
58 m_Options = layoutRoot.FindAnyWidget("options");
59 m_Exit = layoutRoot.FindAnyWidget("exit");
60 m_Controls = layoutRoot.FindAnyWidget("controls");
61 m_Play = layoutRoot.FindAnyWidget("play");
62 m_MessageButton = layoutRoot.FindAnyWidget("message_button");
63
64 m_DlcFrame = layoutRoot.FindAnyWidget("dlc_Frame");
65 m_Version = TextWidget.Cast(layoutRoot.FindAnyWidget("version"));
66 m_Mission = MissionMainMenu.Cast(g_Game.GetMission());
67 m_ShowFeedback = layoutRoot.FindAnyWidget("feedback");
68 m_FeedbackQRCode = ImageWidget.Cast(layoutRoot.FindAnyWidget("qr_image"));
69 m_FeedbackClose = ButtonWidget.Cast(layoutRoot.FindAnyWidget("close_button"));
70 m_FeedbackCloseLabel = RichTextWidget.Cast(layoutRoot.FindAnyWidget("close_button_label"));
71 m_DialogPanel = layoutRoot.FindAnyWidget("main_menu_dialog");
72 m_NewsCarouselFrame = layoutRoot.FindAnyWidget("carousel_Frame");
73
75
76 g_Game.GetUIManager().ScreenFadeOut(1);
77
78 string launch_done;
79 if (!g_Game.GetProfileString("FirstLaunchDone", launch_done) || launch_done != "true")
80 {
81 g_Game.SetProfileString("FirstLaunchDone", "true");
82 g_Game.GetUIManager().ShowDialog("#main_menu_tutorial", "#main_menu_tutorial_desc", 555, DBT_YESNO, DBB_YES, DMT_QUESTION, this);
83 g_Game.SaveProfile();
84 }
85
87 LoadMods();
88 Refresh();
89
90 CheckWidth();
91
92 #ifdef ENABLE_CAROUSEL
94 #else
95 m_NewsCarousel = null;
96 #endif
97
98 if (g_Game.GetMission())
99 {
100 g_Game.GetMission().GetOnInputPresetChanged().Insert(OnInputPresetChanged);
101 g_Game.GetMission().GetOnInputDeviceChanged().Insert(OnInputDeviceChanged);
102 }
103
104 OnInputDeviceChanged(g_Game.GetInput().GetCurrentInputDevice());
105
106 g_Game.GetContentDLCService().m_OnChange.Insert(OnDLCChange);
107
108 #ifdef PLATFORM_MSSTORE
109 // Enable exit button
110 m_Exit.Show(true);
111 #endif
112
113 #ifdef PLATFORM_CONSOLE
114 #ifndef PLATFORM_PS4
115 #ifdef PLATFORM_MSSTORE
116 m_ChangeAccount.Show(false);
117 #else
118 m_ChangeAccount.Show(GetGame().GetInput().IsEnabledMouseAndKeyboard());
119 #endif
120 m_FeedbackQRCode.LoadImageFile(0, "gui/textures/feedback_qr_xbox.edds");
121 #else
122 m_FeedbackQRCode.LoadImageFile(0, "gui/textures/feedback_qr_ps.edds");
123 #endif
124 #endif
125
126 #ifdef PLATFORM_CONSOLE
127 #ifdef PLATFORM_XBOX
128 m_ChangeAccount.Show(false);
129 #endif
130 #endif
131 m_DlcFrame.Show(false);
132
133 #ifdef PLATFORM_MSSTORE
134 // Disable controls button on MS Store by default
135 m_Controls.Show(false);
136 #endif
137
138 return layoutRoot;
139 }
140
142 {
143 if (g_Game.GetMission())
144 {
145 g_Game.GetMission().GetOnInputPresetChanged().Remove(OnInputPresetChanged);
146 g_Game.GetMission().GetOnInputDeviceChanged().Remove(OnInputDeviceChanged);
147 }
148
149 if (g_Game.GetContentDLCService())
150 g_Game.GetContentDLCService().m_OnChange.Remove(OnDLCChange);
151 }
152
153 void OnDLCChange(EDLCId dlcId)
154 {
156 LoadMods();
157
158 #ifdef ENABLE_CAROUSEL
159 if (m_NewsCarousel)
160 {
161 m_NewsCarousel.Destroy();
162 m_NewsCarousel = null;
164 }
165 #endif
166 }
167
168 void LoadMods()
169 {
172 }
173
174 protected void OnInputPresetChanged()
175 {
176 #ifdef PLATFORM_CONSOLE
178 #endif
179 }
180
181 protected void OnInputDeviceChanged(EInputDeviceType pInputDeviceType)
182 {
183 #ifndef PLATFORM_MSSTORE // No feedback or account switching on MS Store
184 switch (pInputDeviceType)
185 {
186 case EInputDeviceType.CONTROLLER:
187 if (g_Game.GetInput().IsEnabledMouseAndKeyboard())
188 {
189 g_Game.GetUIManager().ShowUICursor(false);
190 #ifdef PLATFORM_CONSOLE
191 if (m_LastFocusedButton == m_ShowFeedback || !GetFocus() || GetFocus() == m_FeedbackClose)
192 {
193 SetFocus(m_Play);
194 }
195
196 m_FeedbackClose.Show(false);
197 m_ShowFeedback.Show(false);
198 #ifndef PLATFORM_PS4
199 #ifndef PLATFORM_XBOX
200 m_ChangeAccount.Show(false);
202 {
203 SetFocus(m_Play);
204 }
205 #endif
206 #endif
207 #endif
208 }
209
210 #ifdef PLATFORM_MSSTORE
211 // Enable controls button on MS Store by default
212 m_Controls.Show(true);
213 #endif
214 break;
215
216 default:
217 if (g_Game.GetInput().IsEnabledMouseAndKeyboard())
218 {
219 g_Game.GetUIManager().ShowUICursor(true);
220 #ifdef PLATFORM_CONSOLE
221 m_ShowFeedback.Show(true);
222 m_FeedbackClose.Show(true);
223 m_FeedbackCloseLabel.SetText(string.Format("%1",InputUtils.GetRichtextButtonIconFromInputAction("UAUIBack", "#close", EUAINPUT_DEVICE_CONTROLLER, InputUtils.ICON_SCALE_NORMAL)));
224 #ifndef PLATFORM_PS4
225 #ifndef PLATFORM_MSSTORE
226 #ifndef PLATFORM_XBOX
227 m_ChangeAccount.Show(true);
228 #endif
229 #endif
230 #endif
231 #endif
232
233 #ifdef PLATFORM_MSSTORE
234 // Disable controls button on MS Store
235 m_Controls.Show(false);
236 #endif
237 }
238 break;
239 }
240 #else
241 switch (pInputDeviceType)
242 {
243 case EInputDeviceType.CONTROLLER:
244 // Enable controls button on MS Store by default
245 m_Controls.Show(true);
246 break;
247
248 default:
249 // Disable controls button on MS Store
250 m_Controls.Show(false);
251 break;
252 }
253 #endif
254
257 }
258
259 override bool OnClick(Widget w, int x, int y, int button)
260 {
262 {
263 if (w == m_Play)
264 {
267 return true;
268 }
269 else if (w == m_Options)
270 {
273 return true;
274 }
275 else if (w == m_Exit)
276 {
278 Exit();
279 return true;
280 }
281 else if (w == m_Tutorials)
282 {
285 return true;
286 }
287 else if (w == m_Controls)
288 {
291 return true;
292 }
293 else if (w == m_CustomizeCharacter)
294 {
297 return true;
298 }
299 #ifndef PLATFORM_MSSTORE // No account switching on MS Store
300 #ifndef PLATFORM_XBOX
301 else if (w == m_ChangeAccount)
302 {
305 return true;
306 }
307 #endif
308 #endif
309 else if (w == m_MessageButton)
310 {
311 OpenCredits();
312 return true;
313 }
314 }
315
316 if (w == m_ShowFeedback || w == m_FeedbackClose)
317 {
320 return true;
321 }
322 return false;
323 }
324
325 override bool OnFocus(Widget w, int x, int y)
326 {
328 if (ButtonWidget.Cast(w))
329 {
331 }
332 return true;
333 }
334
335 override bool OnFocusLost(Widget w, int x, int y)
336 {
337 ColorNormal(w);
338 return true;
339 }
340
341 override bool OnMouseEnter(Widget w, int x, int y)
342 {
343 if (w == m_FeedbackClose)
344 {
346 return true;
347 }
348 return false;
349 }
350
351 override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
352 {
353 if (w == m_FeedbackClose)
354 {
355 ColorNormal(w);
356 return true;
357 }
358 return true;
359 }
360
361 override void Refresh()
362 {
363 string name;
364
365 if (g_Game.GetUserManager() && g_Game.GetUserManager().GetSelectedUser())
366 {
367 name = g_Game.GetUserManager().GetSelectedUser().GetName();
368 if (name.LengthUtf8() > 18)
369 {
370 name = name.SubstringUtf8(0, 18);
371 name += "...";
372 }
373 }
374 m_PlayerName.SetText(name);
375
376 string version;
377 g_Game.GetVersion(version);
378 m_Version.SetText("#main_menu_version" + " " + version + " (" + g_Game.GetDatabaseID() + ")");
379
381 m_DisplayedDlcHandler.UpdateAllPromotionInfo();
382 }
383
384 override void OnShow()
385 {
386 #ifdef PLATFORM_MSSTORE
387 #ifdef ENABLE_CAROUSEL
388 // Hack: Recreate NewsCarousel to refresh it on menu show after applying options
389 if (m_NewsCarousel)
390 {
391 m_NewsCarousel.Destroy();
392 m_NewsCarousel = null;
394 }
395 #endif
396 #endif
397
398 GetDayZGame().GetBacklit().MainMenu_OnShow();
399
400 SetFocus(m_LastFocusedButton);
401
402 LoadMods();
403 Refresh();
404
405 if (m_ScenePC && m_ScenePC.GetIntroCamera())
406 {
407 m_ScenePC.GetIntroCamera().LookAt(m_ScenePC.GetIntroCharacter().GetPosition() + Vector(0, 1, 0));
408 }
410 m_DisplayedDlcHandler.ShowInfoPanel(true);
411
412 super.OnShow();
413 #ifdef PLATFORM_CONSOLE
414 layoutRoot.FindAnyWidget("ButtonHolderCredits").Show(g_Game.GetInput().IsEnabledMouseAndKeyboard());
415 OnInputDeviceChanged(g_Game.GetInput().GetCurrentInputDevice());
416 #endif
417 }
418
419 override void OnHide()
420 {
422 m_DisplayedDlcHandler.ShowInfoPanel(false);
423 GetDayZGame().GetBacklit().MainMenu_OnHide();
424 }
425
426 override void Update(float timeslice)
427 {
428 super.Update(timeslice);
429
430 CheckWidth();
431
432 if (g_Game.GetLoadState() != DayZGameState.CONNECTING && !g_Game.GetUIManager().IsDialogVisible())
433 {
434 #ifndef PLATFORM_CONSOLE
435 if (GetUApi().GetInputByID(UAUIBack).LocalPress())
436 {
437 if (!g_Game.GetUIManager().IsDialogHiding())
438 Exit();
439 }
440 #else
441 if (GetUApi().GetInputByID(UAUIBack).LocalPress())
442 {
444 {
446 }
447 else
448 {
449 EnterScriptedMenu(MENU_MAIN);
450 }
451 }
452
453 if (GetUApi().GetInputByID(UAUICredits).LocalPress())
454 OpenCredits();
455 #endif
456 }
457
458 if (GetUApi().GetInputByID(UAUICtrlX).LocalPress())
459 {
460 if (CanStoreBeOpened())
461 m_DisplayedDlcHandler.GetModInfo().GoToStore();
462 }
463
464 if (GetUApi().GetInputByID(UAUIThumbRight).LocalPress())
465 {
467 }
468
469 #ifdef ENABLE_CAROUSEL
470 if (m_NewsCarousel)
471 {
472 if (GetUApi().GetInputByID(UAUICtrlX).LocalHold())
473 {
474 m_NewsCarousel.ShowPromotion();
475 }
476
477 if (GetUApi().GetInputByID(UAUIPadRight).LocalPress())
478 {
479 m_NewsCarousel.OnClickNextArticle();
480 }
481
482 if (GetUApi().GetInputByID(UAUIPadLeft).LocalPress())
483 {
484 m_NewsCarousel.OnClickPreviousArticle();
485 }
486
487 m_NewsCarousel.Update(timeslice);
488 }
489 #endif
490 }
491
492 protected void ToggleFeedbackDialog()
493 {
494 bool dialogVisible = FeedbackDialogVisible();
495 m_DialogPanel.Show(!dialogVisible);
496 m_MainMenuPanel.Show(dialogVisible);
497
498 if (!dialogVisible)
499 {
500 PPERequesterBank.GetRequester(PPERequester_FeedbackBlur).Start();
501 }
502 else
503 {
504 PPERequesterBank.GetRequester(PPERequester_FeedbackBlur).Stop();
505 }
506
507 SetFocus(m_LastFocusedButton);
509 }
510
512 {
513 return m_DialogPanel.IsVisible();
514 }
515
517 {
518 return m_DisplayedDlcHandler != null;
519 }
520
522 {
523 EnterScriptedMenu(MENU_SERVER_BROWSER);
524 }
525
527 {
528 EnterScriptedMenu(MENU_XBOX_CONTROLS);
529 }
530
532 {
533 EnterScriptedMenu(MENU_OPTIONS);
534 }
535
537 {
538 EnterScriptedMenu(MENU_VIDEO);
539 }
540
542 {
543 EnterScriptedMenu(MENU_TUTORIAL);
544 }
545
547 {
548 EnterScriptedMenu(MENU_CHARACTER);
549 }
550
552 {
553 EnterScriptedMenu(MENU_CREDITS);
554 m_Mission.OnMenuEnter(MENU_CREDITS);
555 }
556
558 {
559 BiosUserManager user_manager = g_Game.GetUserManager();
560 if (user_manager)
561 {
562 g_Game.SetLoadState(DayZLoadState.MAIN_MENU_START);
563 #ifndef PLATFORM_WINDOWS
564 user_manager.SelectUserEx(null);
565 #endif
566 g_Game.GetUIManager().Back();
567 }
568 }
569
570 void Exit()
571 {
572 g_Game.GetUIManager().ShowDialog("#main_menu_exit", "#main_menu_exit_desc", IDC_MAIN_QUIT, DBT_YESNO, DBB_YES, DMT_QUESTION, this);
573 }
574
575 //Coloring functions (Until WidgetStyles are useful)
576 void ColorHighlight(Widget w)
577 {
578 if (!w)
579 return;
580
581 int color_pnl = ARGB(255, 200, 0, 0);
582 int color_lbl = ARGB(255, 255, 255, 255);
583
584 ButtonSetColor(w, color_pnl);
586 ButtonSetTextColor(w, color_lbl);
587 }
588
589 void ColorNormal(Widget w)
590 {
591 if (!w)
592 return;
593
594 int color_pnl = ARGB(0, 0, 0, 0);
595 int color_lbl = ARGB(255, 255, 255, 255);
596
597 ButtonSetColor(w, color_pnl);
598 ButtonSetAlphaAnim(null);
599 ButtonSetTextColor(w, color_lbl);
600 }
601
602 override bool OnModalResult(Widget w, int x, int y, int code, int result)
603 {
604 if (code == IDC_MAIN_QUIT)
605 {
606 if (result == 2)
607 {
608 g_Game.GetCallQueue(CALL_CATEGORY_GUI).Call(g_Game.RequestExit, IDC_MAIN_QUIT);
609 }
610
611 return true;
612 }
613 else if (code == 555)
614 {
615 if (result == 2)
616 {
618 }
619 }
620 return false;
621 }
622
623 void ButtonSetText(Widget w, string text)
624 {
625 if (!w)
626 return;
627
628 TextWidget label = TextWidget.Cast(w.FindWidget(w.GetName() + "_label"));
629
630 if (label)
631 {
632 label.SetText(text);
633 }
634
635 }
636
637 void ButtonSetColor(Widget w, int color)
638 {
639 if (!w)
640 return;
641
642 Widget panel = w.FindWidget(w.GetName() + "_panel");
643
644 if (panel)
645 {
646 panel.SetColor(color);
647 }
648 }
649
650 void ButtonSetAlphaAnim(Widget w)
651 {
652 if (!w)
653 return;
654
655 Widget panel = w.FindWidget(w.GetName() + "_panel");
656
657 if (panel)
658 {
659 SetWidgetAnimAlpha(panel);
660 }
661 }
662
663 void ButtonSetTextColor(Widget w, int color)
664 {
665 if (!w)
666 return;
667
668 TextWidget label = TextWidget.Cast(w.FindAnyWidget(w.GetName() + "_label"));
669 TextWidget text = TextWidget.Cast(w.FindAnyWidget(w.GetName() + "_text"));
670 TextWidget text2 = TextWidget.Cast(w.FindAnyWidget(w.GetName() + "_text_1"));
671
672 if (label)
673 {
674 label.SetColor(color);
675 }
676
677 if (text)
678 {
679 text.SetColor(color);
680 }
681
682 if (text2)
683 {
684 text2.SetColor(color);
685 }
686 }
687
688 protected void UpdateControlsElements()
689 {
690 RichTextWidget toolbar_text = RichTextWidget.Cast(layoutRoot.FindAnyWidget("ContextToolbarText"));
691 string context;
693 {
694 context = InputUtils.GetRichtextButtonIconFromInputAction("UAUICredits", "#menu_credits", EUAINPUT_DEVICE_CONTROLLER, InputUtils.ICON_SCALE_TOOLBAR);
695 #ifndef PLATFORM_MSSTORE
696 #ifndef PLATFORM_PS4
697 #ifndef PLATFORM_XBOX
698 context += string.Format(" %1",InputUtils.GetRichtextButtonIconFromInputAction("UAUICtrlY", "#layout_xbox_main_menu_toolbar_account", EUAINPUT_DEVICE_CONTROLLER, InputUtils.ICON_SCALE_TOOLBAR));
699 #endif
700 #endif
701 #endif
702 context += string.Format(" %1",InputUtils.GetRichtextButtonIconFromInputAction("UAUISelect", "#layout_xbox_main_menu_toolbar_select", EUAINPUT_DEVICE_CONTROLLER, InputUtils.ICON_SCALE_TOOLBAR));
703 context += string.Format(" %1",InputUtils.GetRichtextButtonIconFromInputAction("UAUIThumbRight", "#layout_main_menu_feedback", EUAINPUT_DEVICE_CONTROLLER, InputUtils.ICON_SCALE_TOOLBAR));
704 }
705 else
706 {
707 context = InputUtils.GetRichtextButtonIconFromInputAction("UAUIBack", "#close", EUAINPUT_DEVICE_CONTROLLER, InputUtils.ICON_SCALE_TOOLBAR);
708 }
709
710 toolbar_text.SetText(context);
711 }
712
714 {
715 bool toolbarShow = false;
716 #ifdef PLATFORM_CONSOLE
717 toolbarShow = !g_Game.GetInput().IsEnabledMouseAndKeyboard() || g_Game.GetInput().GetCurrentInputDevice() == EInputDeviceType.CONTROLLER;
718 #endif
719
720 layoutRoot.FindAnyWidget("toolbar_bg").Show(toolbarShow);
721 }
722
724 {
725 int w, h;
726 ScreenWidthType widthType;
727 GetScreenSize(w, h);
728
729 if(h > 0)
730 {
731 float ratio = w / h;
732 if(ratio > 1.75)
733 widthType = ScreenWidthType.WIDE;
734 else if(ratio > 1.5)
735 widthType = ScreenWidthType.MEDIUM;
736 else
737 widthType = ScreenWidthType.NARROW;
738 }
739
740 m_Width = w;
741 m_Height = h;
742
743 if (widthType != m_WidthType)
744 {
745 m_WidthType = widthType;
746 #ifdef ENABLE_CAROUSEL
747 if (m_NewsCarousel)
748 {
749 m_NewsCarousel.Destroy();
750 m_NewsCarousel = null;
752 }
753 #endif
754 }
755 }
756
758 protected ref JsonDataDLCList m_DlcData;
759 protected ref array<ref MainMenuDlcHandlerBase> m_DlcHandlers;
760 protected ref MainMenuDlcHandlerBase m_DisplayedDlcHandler;
763
764 [Obsolete("No replacement")]
766 {
767 if (!m_DlcHandlers)
769 else
770 {
771 // TODO: Would be better to update the parts that need updating instead of full recreation
772 // Destroying and then reloading the same video is quite wasteful
773 m_DlcHandlers.Clear();
774 }
775
777 int count = m_DlcData.DLCs.Count();
778 JsonDataDLCInfo data;
779 ModInfo info;
780
781 for (int i = 0; i < count; i++)
782 {
783 data = m_DlcData.DLCs[i];
784 info = m_AllDlcsMap.Get(data.Name);
785 MainMenuDlcHandlerBase handler = new MainMenuDlcHandlerBase(info, m_DlcFrame, data);
786
787 handler.ShowInfoPanel(true);
788 m_DisplayedDlcHandler = handler;//TODO: carousel will take care of this later
789
790 m_DlcHandlers.Insert(handler);
791 }
792 }
793
794 [Obsolete("No replacement")]
795 void FilterDLCs(inout array<ref ModInfo> modArray)
796 {
797 if (!m_AllDlcsMap)
799
800 m_AllDlcsMap.Clear();
801 ModInfo info;
802 int count = modArray.Count();
803 for (int i = count - 1; i >= 0; i--)
804 {
805 info = modArray[i];
806 if (!info.GetIsDLC())
807 modArray.Remove(i);
808 else
809 m_AllDlcsMap.Set(info.GetName(), info);
810 }
811 }
812}
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
static JsonDataDLCList GetData()
static const float ICON_SCALE_NORMAL
Definition inpututils.c:14
static string GetRichtextButtonIconFromInputAction(notnull UAInput pInput, string pLocalizedDescription, int pInputDeviceType=EUAINPUT_DEVICE_CONTROLLER, float pScale=ICON_SCALE_NORMAL, bool pVertical=false)
Definition inpututils.c:167
static const float ICON_SCALE_TOOLBAR
Definition inpututils.c:15
static void ClearAllDLCs()
static void LoadMods()
void UpdateControlsElementVisibility()
Widget m_Tutorials
Definition mainmenu.c:19
Widget m_Exit
Definition mainmenu.c:23
override bool OnMouseEnter(Widget w, int x, int y)
override void OnShow()
bool FeedbackDialogVisible()
ImageWidget m_FeedbackPlatformIcon
ImageWidget m_FeedbackQRCode
ref JsonDataDLCList m_DlcData
DEPRICATED.
Definition mainmenu.c:743
override bool OnFocus(Widget w, int x, int y)
ref Widget m_LastFocusedButton
Definition mainmenu.c:37
override void Update(float timeslice)
ref map< string, ref ModInfo > m_AllDlcsMap
Definition mainmenu.c:742
void OnDLCChange(EDLCId dlcId)
override void Refresh()
RichTextWidget m_FeedbackCloseLabel
Widget m_MessageButton
Definition mainmenu.c:21
ref array< ref ModInfo > m_AllDLCs
TextWidget m_Version
void OpenMenuServerBrowser()
Definition mainmenu.c:434
void OpenMenuCustomizeCharacter()
Definition mainmenu.c:439
bool m_DisplayCarousel
Definition mainmenu.c:48
void ColorHighlight(Widget w)
ButtonWidget m_ShowFeedback
void OpenCredits()
Definition mainmenu.c:539
void OnInputDeviceChanged(EInputDeviceType pInputDeviceType)
Widget m_PlayVideo
Definition mainmenu.c:17
Widget m_DlcFrame
Definition mainmenu.c:44
void ButtonSetText(Widget w, string text)
void LoadMods()
Definition mainmenu.c:148
void ButtonSetAlphaAnim(Widget w)
override void OnHide()
MissionMainMenu m_Mission
Definition mainmenu.c:6
override bool OnFocusLost(Widget w, int x, int y)
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
Widget m_NewsCarouselFrame
Definition mainmenu.c:46
ButtonWidget m_Play
ScreenWidthType m_WidthType
void FilterDLCs(inout array< ref ModInfo > modArray)
void UpdateControlsElements()
Widget m_CustomizeCharacter
Definition mainmenu.c:16
ref MainMenuDlcHandlerBase m_DisplayedDlcHandler
Definition mainmenu.c:741
ref array< ref MainMenuDlcHandlerBase > m_DlcHandlers
DEPRICATED.
Definition mainmenu.c:740
void CheckWidth()
Definition mainmenu.c:704
ref NewsCarousel m_NewsCarousel
Definition mainmenu.c:47
void ButtonSetTextColor(Widget w, int color)
TextWidget m_PlayerName
Definition mainmenu.c:9
ButtonWidget m_FeedbackClose
override Widget Init()
override bool OnClick(Widget w, int x, int y, int button)
void ButtonSetColor(Widget w, int color)
override bool OnModalResult(Widget w, int x, int y, int code, int result)
void ColorNormal(Widget w)
void ToggleFeedbackDialog()
DayZIntroScenePC m_ScenePC
Definition mainmenu.c:7
void OnInputPresetChanged()
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
EDLCId
Definition contentdlc.c:4
DayZGame g_Game
Definition dayzgame.c:3942
DayZGame GetDayZGame()
Definition dayzgame.c:3944
DayZGame GetGame()
Definition gameplay.c:636
void Obsolete(string msg="")
Definition enscript.c:371
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
const int MENU_TUTORIAL
Definition constants.c:204
const int MENU_XBOX_CONTROLS
Definition constants.c:197
const int MENU_MAIN
Definition constants.c:182
const int MENU_SERVER_BROWSER
Definition constants.c:200
const int MENU_OPTIONS
Definition constants.c:183
const int MENU_CREDITS
Definition constants.c:205
const int MENU_CHARACTER
Definition constants.c:174
const int MENU_VIDEO
Definition constants.c:202
proto void GetScreenSize(out int x, out int y)
const int CALL_CATEGORY_GUI
Definition tools.c:9
const int IDC_MAIN_QUIT
Definition constants.c:144
Icon x
Icon y
EInputDeviceType
Definition input.c:3
ScreenWidthType
void NewsCarousel(Widget parent, UIScriptedMenu mainMenu)
int ARGB(int a, int r, int g, int b)
Definition proto.c:322
proto native UAInputAPI GetUApi()