Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
mainmenu.c
Go to the documentation of this file.
1class MainMenu extends UIScriptedMenu
2{
3 protected ref MainMenuStats m_Stats;
4 protected ref MainMenuVideo m_Video;
5
6 protected MissionMainMenu m_Mission;
8
9 protected TextWidget m_PlayerName;
10 protected TextWidget m_Version;
11
12 protected Widget m_CharacterRotationFrame;
13
14 protected Widget m_Play;
15 protected Widget m_ChooseServer;
16 protected Widget m_CustomizeCharacter;
17 protected Widget m_PlayVideo;
18 protected Widget m_Feedback;
19 protected Widget m_Tutorials;
20 protected Widget m_TutorialButton;
21 protected Widget m_MessageButton;
22 protected Widget m_SettingsButton;
23 protected Widget m_Exit;
24 protected Widget m_NewsMain;
25 protected Widget m_NewsSec1;
26 protected Widget m_NewsSec2;
27 protected Widget m_PrevCharacter;
28 protected Widget m_NextCharacter;
29
30 protected Widget m_LastPlayedTooltip;
31 protected Widget m_LastPlayedTooltipLabel;
32 protected TextWidget m_LastPlayedTooltipName;
33 protected TextWidget m_LastPlayedTooltipIP;
34 protected TextWidget m_LastPlayedTooltipPort;
35
36 protected ref WidgetFadeTimer m_LastPlayedTooltipTimer;
37 protected ref Widget m_LastFocusedButton;
38
39 protected ref TextWidget m_ModdedWarning;
40 protected ref ModsMenuSimple m_ModsSimple;
41 protected ref ModsMenuDetailed m_ModsDetailed;
42 protected ref ModsMenuTooltip m_ModsTooltip;
43
44 protected Widget m_DlcFrame;
48 protected ref MainMenuDlcHandlerBase m_DisplayedDlcHandler;
49
50
51 override Widget Init()
52 {
53 layoutRoot = GetGame().GetWorkspace().CreateWidgets("gui/layouts/new_ui/main_menu.layout");
54
55 m_Play = layoutRoot.FindAnyWidget("play");
56 m_ChooseServer = layoutRoot.FindAnyWidget("choose_server");
57 m_CustomizeCharacter = layoutRoot.FindAnyWidget("customize_character");
58 m_PlayVideo = layoutRoot.FindAnyWidget("play_video");
59 m_Feedback = layoutRoot.FindAnyWidget("feedback_button");
60 m_Tutorials = layoutRoot.FindAnyWidget("tutorials");
61 m_TutorialButton = layoutRoot.FindAnyWidget("tutorial_button");
62 m_MessageButton = layoutRoot.FindAnyWidget("message_button");
63 m_SettingsButton = layoutRoot.FindAnyWidget("settings_button");
64 m_Exit = layoutRoot.FindAnyWidget("exit_button");
65 m_PrevCharacter = layoutRoot.FindAnyWidget("prev_character");
66 m_NextCharacter = layoutRoot.FindAnyWidget("next_character");
67
68 m_DlcFrame = layoutRoot.FindAnyWidget("dlc_Frame");
69 m_Version = TextWidget.Cast(layoutRoot.FindAnyWidget("version"));
70 m_ModdedWarning = TextWidget.Cast(layoutRoot.FindAnyWidget("ModdedWarning"));
71 m_CharacterRotationFrame = layoutRoot.FindAnyWidget("character_rotation_frame");
72
73 m_LastPlayedTooltip = layoutRoot.FindAnyWidget("last_server_info");
74 m_LastPlayedTooltip.Show(false);
75 m_LastPlayedTooltipLabel = m_LastPlayedTooltip.FindAnyWidget("last_server_info_label");
76 m_LastPlayedTooltipName = TextWidget.Cast(m_LastPlayedTooltip.FindAnyWidget("last_server_info_name"));
77 m_LastPlayedTooltipIP = TextWidget.Cast(m_LastPlayedTooltip.FindAnyWidget("last_server_info_ip"));
78 m_LastPlayedTooltipPort = TextWidget.Cast(m_LastPlayedTooltip.FindAnyWidget("last_server_info_port"));
79
80 m_LastPlayedTooltipTimer = new WidgetFadeTimer();
81
82 m_Stats = new MainMenuStats(layoutRoot.FindAnyWidget("character_stats_root"));
83
84 m_Mission = MissionMainMenu.Cast(GetGame().GetMission());
85
86 m_LastFocusedButton = m_Play;
87
88 m_ScenePC = m_Mission.GetIntroScenePC();
89
90 if (m_ScenePC)
91 {
92 m_ScenePC.ResetIntroCamera();
93 }
94
95 m_PlayVideo.Show(false);
96
97 m_PlayerName = TextWidget.Cast(layoutRoot.FindAnyWidget("character_name_text"));
98
99 // Set Version
100 string version;
101 GetGame().GetVersion(version);
102 m_Version.SetText("#main_menu_version" + " " + version);
103
104 GetGame().GetUIManager().ScreenFadeOut(0);
105
106 SetFocus(null);
107
108 Refresh();
109
110 LoadMods();
112
113 GetDayZGame().GetBacklit().MainMenu_OnShow();
114 GetGame().GetMission().GetOnModMenuVisibilityChanged().Insert(ShowDlcFrame);
115
116 g_Game.SetLoadState(DayZLoadState.MAIN_MENU_CONTROLLER_SELECT);
117
118 return layoutRoot;
119 }
120
122 {
123 if (GetGame().GetMission())
124 {
125 GetGame().GetMission().GetOnModMenuVisibilityChanged().Remove(ShowDlcFrame);
126 }
127 }
128
129 void LoadMods()
130 {
131 array<ref ModInfo> modArray = new array<ref ModInfo>();
132 GetGame().GetModInfos(modArray);
133
134 if (modArray.Count() > 0)
135 {
136 modArray.Remove(modArray.Count() - 1);
137 modArray.Invert();
138 }
139
140 FilterDlcs(modArray);
141
142 if (m_ModsSimple)
143 delete m_ModsSimple;
144 if (m_ModsDetailed)
145 delete m_ModsDetailed;
146
147 m_ModdedWarning.Show(GetGame().GetModToBeReported());
148
149 if (modArray.Count() > 0)
150 {
151 layoutRoot.FindAnyWidget("ModsSimple").Show(true);
152 m_ModsTooltip = new ModsMenuTooltip(layoutRoot);
153
154 m_ModsDetailed = new ModsMenuDetailed(modArray, layoutRoot.FindAnyWidget("ModsDetailed"), m_ModsTooltip, this);
155
156 m_ModsSimple = new ModsMenuSimple(modArray, layoutRoot.FindAnyWidget("ModsSimple"), m_ModsDetailed);
157 }
158 }
159
160 void FilterDlcs(inout array<ref ModInfo> modArray)
161 {
162 if (!m_AllDlcsMap)
163 m_AllDlcsMap = new map<string,ref ModInfo>();
164 m_AllDlcsMap.Clear();
165
166 int count = modArray.Count();
167 ModInfo info;
168 for (int i = count - 1; i > -1; i--)
169 {
170 info = modArray[i];
171 if (info.GetIsDLC())
172 {
173 m_AllDlcsMap.Set(info.GetName(),info);
174 modArray.Remove(i);
175 }
176 }
177 }
178
179 void ShowDlcFrame(bool show)
180 {
181 m_DlcFrame.Show(show);
182 if (m_DisplayedDlcHandler)
183 m_DisplayedDlcHandler.ShowInfoPanel(show);
184 }
185
187 {
188 if (!m_DlcHandlers)
189 m_DlcHandlers = new array<ref MainMenuDlcHandlerBase>();
190
191 m_DlcData = DlcDataLoader.GetData();
192 int count = m_DlcData.DLCs.Count();
193 JsonDataDLCInfo data;
194 ModInfo info;
195
196 for (int i = 0; i < count; i++)
197 {
198 data = m_DlcData.DLCs[i];
199 info = m_AllDlcsMap.Get(data.Name);
200 MainMenuDlcHandlerBase handler = new MainMenuDlcHandlerBase(info, m_DlcFrame, data);
201
202 handler.ShowInfoPanel(true);
203 m_DisplayedDlcHandler = handler;//TODO: carousel will take care of this later
204
205 m_DlcHandlers.Insert(handler);
206 }
207 }
208
209 override bool OnMouseButtonDown(Widget w, int x, int y, int button)
210 {
211 if (w == m_CharacterRotationFrame)
212 {
213 if (m_ScenePC)
214 m_ScenePC.CharacterRotationStart();
215 return true;
216 }
217
218 return false;
219 }
220
221 override bool OnMouseButtonUp(Widget w, int x, int y, int button)
222 {
223 if (m_ScenePC)
224 m_ScenePC.CharacterRotationStop();
225 return false;
226 }
227
228 override bool OnClick(Widget w, int x, int y, int button)
229 {
230 if (button == MouseState.LEFT)
231 {
232 if (w == m_Play)
233 {
234 m_LastFocusedButton = m_Play;
235 Play();
236 return true;
237 }
238 else if (w == m_ChooseServer)
239 {
240 m_LastFocusedButton = m_ChooseServer;
242 return true;
243 }
244 else if (w == m_CustomizeCharacter)
245 {
247 return true;
248 }
249 else if (w == m_TutorialButton)
250 {
252 return true;
253 }
254 else if (w == m_MessageButton)
255 {
256 OpenCredits();
257 return true;
258 }
259 else if (w == m_SettingsButton)
260 {
261 OpenSettings();
262 return true;
263 }
264 else if (w == m_Exit)
265 {
266 Exit();
267 return true;
268 }
269 else if (w == m_PrevCharacter)
270 {
272 return true;
273 }
274 else if (w == m_NextCharacter)
275 {
277 return true;
278 }
279 else if (w == m_PlayVideo)
280 {
281 m_LastFocusedButton = m_PlayVideo;
282 PlayVideo();
283 return true;
284 }
285 else if (w == m_Tutorials)
286 {
287 m_LastFocusedButton = m_Tutorials;
289 return true;
290 }
291 else if (w == m_Feedback)
292 {
293 m_LastFocusedButton = m_Feedback;
294 OpenFeedback();
295 }
296 }
297 return false;
298 }
299
300 override bool OnMouseEnter(Widget w, int x, int y)
301 {
302 if (w == m_Play)
303 {
304 string ip = "";
305 string name = "";
306 int port = 0;
307
308 if (m_ScenePC && !m_ScenePC.GetIntroCharacter().IsDefaultCharacter())
309 {
310 int charID = m_ScenePC.GetIntroCharacter().GetCharacterID();
311 m_ScenePC.GetIntroCharacter().GetLastPlayedServer(charID, ip, name, port);
312
313 m_LastPlayedTooltipName.SetText("#server_details_name " + name);
314 m_LastPlayedTooltipIP.SetText("#main_menu_IP " + ip);
315 m_LastPlayedTooltipPort.SetText("#main_menu_port " + port);
316
317 m_LastPlayedTooltipTimer.FadeIn(m_LastPlayedTooltip, 0.3, true);
318 }
319 }
320
321 if (IsFocusable(w))
322 {
324 return true;
325 }
326 return false;
327 }
328
329 override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
330 {
331 if (w == m_Play)
332 {
333 m_LastPlayedTooltipTimer.FadeOut(m_LastPlayedTooltip, 0.3, true);
334 }
335
336 if (IsFocusable(w))
337 {
338 ColorNormal(w);
339 return true;
340 }
341 return false;
342 }
343
344 override bool OnFocus(Widget w, int x, int y)
345 {
346 if (IsFocusable(w))
347 {
349 return true;
350 }
351 return false;
352 }
353
354 override bool OnFocusLost(Widget w, int x, int y)
355 {
356 if (IsFocusable(w))
357 {
358 ColorNormal(w);
359 return true;
360 }
361 return false;
362 }
363
364 bool IsFocusable(Widget w)
365 {
366 if (w)
367 {
368 if (w == m_Play || w == m_ChooseServer || w == m_CustomizeCharacter || w == m_TutorialButton || w == m_MessageButton || w == m_SettingsButton)
369 {
370 return true;
371 }
372
373 if (w == m_Exit || w == m_PlayVideo || w == m_Feedback)
374 {
375 return true;
376 }
377
378 if (w == m_NewsMain || w == m_NewsSec1 || w == m_NewsSec2 || w == m_PrevCharacter || w == m_NextCharacter)
379 {
380 return true;
381 }
382 }
383 return false;
384 }
385
386 override void Refresh()
387 {
388 string name;
389 if (m_ScenePC && g_Game.GetGameState() == DayZGameState.MAIN_MENU)
391
392 string version;
393 GetGame().GetVersion(version);
394 m_Version.SetText("#main_menu_version" + " " + version);
395
396 if (m_DisplayedDlcHandler)
397 m_DisplayedDlcHandler.UpdateAllPromotionInfo();
398 }
399
400 override void OnShow()
401 {
402 if (m_DisplayedDlcHandler)
403 m_DisplayedDlcHandler.ShowInfoPanel(true);
404
405 SetFocus(null);
406 OnChangeCharacter(false);
407 m_Stats.UpdateStats();
408 LoadMods();
409 return;
410 }
411
412 override void OnHide()
413 {
414 if (m_DisplayedDlcHandler)
415 m_DisplayedDlcHandler.ShowInfoPanel(false);
416
417 GetDayZGame().GetBacklit().MainMenu_OnHide();
418 }
419
420 override void Update(float timeslice)
421 {
422 super.Update(timeslice);
423
424 if (GetGame() && GetUApi().GetInputByID(UAUIBack).LocalPress())
425 {
426 if (!GetGame().GetUIManager().IsDialogHiding())
427 {
428 Exit();
429 }
430 }
431 }
432
433 void Play()
434 {
435 if (!g_Game.IsNewCharacter())
436 {
437 GetGame().GetCallQueue(CALL_CATEGORY_GUI).CallByName(this, "ConnectLastSession");
438 }
439 else
440 {
441 GetGame().GetCallQueue(CALL_CATEGORY_GUI).CallByName(this, "ConnectBestServer");
442 }
443 }
444
446 {
447 if (m_ScenePC && m_ScenePC.GetIntroCharacter() && m_ScenePC.GetIntroCharacter().GetCharacterID() == -1)
448 {
449 return true;
450 }
451 return false;
452 }
453
455 {
456 EnterScriptedMenu(MENU_SERVER_BROWSER);
457 }
458
460 {
461 EnterScriptedMenu(MENU_CHARACTER);
462 }
463
465 {
466 if (m_ScenePC && m_ScenePC.GetIntroCharacter())
467 {
468 int charID = m_ScenePC.GetIntroCharacter().GetNextCharacterID();
469 if (charID != m_ScenePC.GetIntroCharacter().GetCharacterID())
470 {
471 m_ScenePC.GetIntroCharacter().SetCharacterID(charID);
473 }
474 }
475 }
476
478 {
479 if (m_ScenePC && m_ScenePC.GetIntroCharacter())
480 {
481 int charID = m_ScenePC.GetIntroCharacter().GetPrevCharacterID();
482 if (charID != m_ScenePC.GetIntroCharacter().GetCharacterID())
483 {
484 m_ScenePC.GetIntroCharacter().SetCharacterID(charID);
486 }
487 }
488 }
489
490 void OnChangeCharacter(bool create_character = true)
491 {
492 if (m_ScenePC && m_ScenePC.GetIntroCharacter())
493 {
494 int charID = m_ScenePC.GetIntroCharacter().GetCharacterID();
495 if (create_character)
496 {
497 m_ScenePC.GetIntroCharacter().CreateNewCharacterById(charID);
498 }
499 m_PlayerName.SetText(m_ScenePC.GetIntroCharacter().GetCharacterNameById(charID));
500
501 Widget w = m_CustomizeCharacter.FindAnyWidget(m_CustomizeCharacter.GetName() + "_label");
502
503 if (w)
504 {
505 TextWidget text = TextWidget.Cast(w);
506
507 if (m_ScenePC.GetIntroCharacter().IsDefaultCharacter())
508 {
509 text.SetText("#layout_main_menu_customize_char");
510 }
511 else
512 {
513 text.SetText("#layout_main_menu_rename");
514 }
515 }
516 if (m_ScenePC.GetIntroCharacter().GetCharacterObj())
517 {
518 if (m_ScenePC.GetIntroCharacter().GetCharacterObj().IsMale())
519 m_ScenePC.GetIntroCharacter().SetCharacterGender(ECharGender.Male);
520 else
521 m_ScenePC.GetIntroCharacter().SetCharacterGender(ECharGender.Female);
522 }
523
524 //update character stats
525 m_Stats.UpdateStats();
526 }
527 }
528
530 {
531
532 }
533
535 {
536
537 }
538
540 {
541 EnterScriptedMenu(MENU_OPTIONS);
542 }
543
545 {
546 EnterScriptedMenu(MENU_VIDEO);
547 }
548
549 protected void OpenFeedback()
550 {
551 GetGame().OpenURL("https://feedback.bistudio.com/project/view/2/");
552 }
553
555 {
556 EnterScriptedMenu(MENU_TUTORIAL);
557 }
558
560 {
561 EnterScriptedMenu(MENU_CREDITS);
562 m_Mission.OnMenuEnter(MENU_CREDITS);
563 }
564
565 void Exit()
566 {
567 GetGame().GetUIManager().ShowDialog("#main_menu_exit", "#main_menu_exit_desc", IDC_MAIN_QUIT, DBT_YESNO, DBB_YES, DMT_QUESTION, this);
568 }
569
570 bool TryConnectLastSession(out string ip, out int port)
571 {
572 if (g_Game.GetLastVisitedServer(ip, port))
573 {
574 return true;
575 }
576 return false;
577 }
578
583
585 {
586 string ip = "";
587 string name = "";
588 int port = 0;
589 int steamQueryPort = 0;
590
591 if (!m_ScenePC.GetIntroCharacter().IsDefaultCharacter())
592 {
593 int charID = m_ScenePC.GetIntroCharacter().GetCharacterID();
594 m_ScenePC.GetIntroCharacter().GetLastPlayedServerEx(charID, ip, name, port, steamQueryPort);
595 }
596
597 if (ip.Length() > 0)
598 {
599 g_Game.ConnectFromServerBrowserEx(ip, port, steamQueryPort, "");
600 }
601 else
602 {
604 }
605 }
606
608 {
610 }
611
612 override bool OnModalResult(Widget w, int x, int y, int code, int result)
613 {
614 if (code == IDC_MAIN_QUIT)
615 {
616 if (result == 2)
617 GetGame().GetCallQueue(CALL_CATEGORY_GUI).Call(g_Game.RequestExit, IDC_MAIN_QUIT);
618 if (result == 3)
619 ColorNormal(GetFocus());
620 return true;
621 }
622 else if (code == 555)
623 {
624 if (result == 2)
626 }
627 return false;
628 }
629
630 //Coloring functions (Until WidgetStyles are useful)
631 void ColorHighlight(Widget w)
632 {
633 if (!w)
634 return;
635
636 int color_pnl = ARGB(255, 0, 0, 0);
637 int color_lbl = ARGB(255, 255, 0, 0);
638 int color_img = ARGB(255, 200, 0, 0);
639
640 ButtonSetColor(w, color_pnl);
641 ButtonSetTextColor(w, color_lbl);
642 ImagenSetColor(w, color_img);
643 }
644
645 void ColorNormal(Widget w)
646 {
647 if (!w)
648 return;
649
650 int color_pnl = ARGB(0, 0, 0, 0);
651 int color_lbl = ARGB(255, 255, 255, 255);
652 int color_img = ARGB(255, 255, 255, 255);
653
654 ButtonSetColor(w, color_pnl);
655 ButtonSetTextColor(w, color_lbl);
656 ImagenSetColor(w, color_img);
657 }
658
659 void ButtonSetText(Widget w, string text)
660 {
661 if (!w)
662 return;
663
664 TextWidget label = TextWidget.Cast(w.FindWidget(w.GetName() + "_label"));
665
666 if (label)
667 {
668 label.SetText(text);
669 }
670
671 }
672
673 void ButtonSetColor(Widget w, int color)
674 {
675 if (!w)
676 return;
677
678 Widget panel = w.FindWidget(w.GetName() + "_panel");
679
680 if (panel)
681 {
682 panel.SetColor(color);
683 }
684 }
685
686 void ImagenSetColor(Widget w, int color)
687 {
688 if (!w)
689 return;
690
691 Widget panel = w.FindWidget(w.GetName() + "_image");
692
693 if (panel)
694 {
695 panel.SetColor(color);
696 }
697 }
698
699 void ButtonSetTextColor(Widget w, int color)
700 {
701 if (!w)
702 return;
703
704 TextWidget label = TextWidget.Cast(w.FindAnyWidget(w.GetName() + "_label"));
705 TextWidget text = TextWidget.Cast(w.FindAnyWidget(w.GetName() + "_text"));
706 TextWidget text2 = TextWidget.Cast(w.FindAnyWidget(w.GetName() + "_text_1"));
707
708 if (label)
709 {
710 label.SetColor(color);
711 }
712
713 if (text)
714 {
715 text.SetColor(color);
716 }
717
718 if (text2)
719 {
720 text2.SetColor(color);
721 }
722 }
723}
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
proto native void OpenURL(string url)
static JsonDataDLCList GetData()
static void AutoConnectToEmptyServer()
TextWidget m_LastPlayedTooltipPort
Definition mainmenu.c:34
void OpenSettings()
Definition mainmenu.c:539
ref WidgetFadeTimer m_LastPlayedTooltipTimer
Definition mainmenu.c:36
Widget m_Tutorials
Definition mainmenu.c:19
Widget m_Exit
Definition mainmenu.c:23
override bool OnMouseEnter(Widget w, int x, int y)
Definition mainmenu.c:300
override void OnShow()
Definition mainmenu.c:400
TextWidget m_LastPlayedTooltipIP
Definition mainmenu.c:33
void ConnectBestServer()
Definition mainmenu.c:607
void OpenTutorials()
Definition mainmenu.c:554
ref JsonDataDLCList m_DlcData
Definition mainmenu.c:46
TextWidget m_LastPlayedTooltipName
Definition mainmenu.c:32
override bool OnFocus(Widget w, int x, int y)
Definition mainmenu.c:344
void OpenMessages()
Definition mainmenu.c:534
ref Widget m_LastFocusedButton
Definition mainmenu.c:37
Widget m_NewsMain
Definition mainmenu.c:24
override void Update(float timeslice)
Definition mainmenu.c:420
ref map< string, ref ModInfo > m_AllDlcsMap
Definition mainmenu.c:45
Widget m_TutorialButton
Definition mainmenu.c:20
override void Refresh()
Definition mainmenu.c:386
void PlayVideo()
Definition mainmenu.c:544
Widget m_MessageButton
Definition mainmenu.c:21
void ~MainMenu()
Definition mainmenu.c:121
TextWidget m_Version
void OpenMenuServerBrowser()
Definition mainmenu.c:454
Widget m_NewsSec1
Definition mainmenu.c:25
void OpenMenuCustomizeCharacter()
Definition mainmenu.c:459
Widget m_PrevCharacter
Definition mainmenu.c:27
void ColorHighlight(Widget w)
bool IsFocusable(Widget w)
void OpenCredits()
Definition mainmenu.c:559
Widget m_PlayVideo
Definition mainmenu.c:17
Widget m_NewsSec2
Definition mainmenu.c:26
Widget m_DlcFrame
Definition mainmenu.c:44
void ButtonSetText(Widget w, string text)
Definition mainmenu.c:659
bool CanSaveDefaultCharacter()
Definition mainmenu.c:445
void LoadMods()
Definition mainmenu.c:129
ref TextWidget m_ModdedWarning
Definition ingamemenu.c:20
Widget m_ChooseServer
Definition mainmenu.c:15
override void OnHide()
Definition mainmenu.c:412
MissionMainMenu m_Mission
Definition mainmenu.c:6
override bool OnMouseButtonUp(Widget w, int x, int y, int button)
Definition mainmenu.c:221
void ConnectLastSession()
Definition mainmenu.c:584
override bool OnFocusLost(Widget w, int x, int y)
Definition mainmenu.c:354
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
Definition mainmenu.c:329
ref ModsMenuTooltip m_ModsTooltip
Definition mainmenu.c:42
void OpenStats()
Definition mainmenu.c:529
override bool OnMouseButtonDown(Widget w, int x, int y, int button)
Definition mainmenu.c:209
ref ModsMenuDetailed m_ModsDetailed
Definition mainmenu.c:41
ref ModsMenuSimple m_ModsSimple
Definition mainmenu.c:40
Widget m_Play
Definition mainmenu.c:14
void AutoConnect()
Definition mainmenu.c:579
Widget m_NextCharacter
Definition mainmenu.c:28
Widget m_CustomizeCharacter
Definition mainmenu.c:16
ref MainMenuDlcHandlerBase m_DisplayedDlcHandler
Definition mainmenu.c:48
ref array< ref MainMenuDlcHandlerBase > m_DlcHandlers
Definition mainmenu.c:47
void ButtonSetTextColor(Widget w, int color)
TextWidget m_PlayerName
Definition mainmenu.c:9
bool TryConnectLastSession(out string ip, out int port)
Definition mainmenu.c:570
void PreviousCharacter()
Definition mainmenu.c:477
Widget m_LastPlayedTooltip
Definition mainmenu.c:30
void ShowDlcFrame(bool show)
Definition mainmenu.c:179
override Widget Init()
Definition mainmenu.c:51
void OpenFeedback()
Definition ingamemenu.c:422
override bool OnClick(Widget w, int x, int y, int button)
Definition mainmenu.c:228
void ImagenSetColor(Widget w, int color)
Definition mainmenu.c:686
void ButtonSetColor(Widget w, int color)
Widget m_LastPlayedTooltipLabel
Definition mainmenu.c:31
override bool OnModalResult(Widget w, int x, int y, int code, int result)
Definition mainmenu.c:612
void ColorNormal(Widget w)
void NextCharacter()
Definition mainmenu.c:464
ref MainMenuStats m_Stats
Definition mainmenu.c:3
void OnChangeCharacter(bool create_character=true)
Definition mainmenu.c:490
ref MainMenuVideo m_Video
Definition mainmenu.c:4
Widget m_SettingsButton
Definition mainmenu.c:22
void FilterDlcs(inout array< ref ModInfo > modArray)
Definition mainmenu.c:160
Widget m_Feedback
Definition mainmenu.c:18
void PopulateDlcFrame()
Definition mainmenu.c:186
DayZIntroScenePC m_ScenePC
Definition mainmenu.c:7
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZGame g_Game
Definition dayzgame.c:3868
TextWidget m_ModdedWarning
Definition dayzgame.c:691
DayZGame GetDayZGame()
Definition dayzgame.c:3870
ECharGender
Definition echargender.c:2
proto native CGame GetGame()
const int MENU_TUTORIAL
Definition constants.c:204
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
MouseState
Definition ensystem.c:311
const int CALL_CATEGORY_GUI
Definition tools.c:9
const int IDC_MAIN_QUIT
Definition constants.c:144
Icon x
Icon y
int ARGB(int a, int r, int g, int b)
Definition proto.c:322
ref array< ref StatDebugObject > m_Stats
void Refresh()
proto native UAInputAPI GetUApi()