1#ifndef BUILD_EXPERIMENTAL
2 #define ENABLE_CAROUSEL
59 layoutRoot =
g_Game.GetWorkspace().CreateWidgets(
"gui/layouts/new_ui/main_menu.layout");
61 m_Play = layoutRoot.FindAnyWidget(
"play");
64 m_PlayVideo = layoutRoot.FindAnyWidget(
"play_video");
65 m_Feedback = layoutRoot.FindAnyWidget(
"feedback_button");
66 m_Tutorials = layoutRoot.FindAnyWidget(
"tutorials");
70 m_Exit = layoutRoot.FindAnyWidget(
"exit_button");
74 m_DlcFrame = layoutRoot.FindAnyWidget(
"dlc_Frame");
89 m_Stats =
new MainMenuStats(layoutRoot.FindAnyWidget(
"character_stats_root"));
108 g_Game.GetVersion(version);
109 m_Version.SetText(
"#main_menu_version" +
" " + version);
111 g_Game.GetUIManager().ScreenFadeOut(0);
120 #ifdef ENABLE_CAROUSEL
131 g_Game.SetLoadState(DayZLoadState.MAIN_MENU_CONTROLLER_SELECT);
147 #ifdef ENABLE_CAROUSEL
169 #ifdef ENABLE_CAROUSEL
190 if (modArray.Count() > 0)
192 layoutRoot.FindAnyWidget(
"ModsSimple").Show(
true);
202 for (
int i = modArray.Count() - 1; i > -1; i--)
313 int charID =
m_ScenePC.GetIntroCharacter().GetCharacterID();
314 m_ScenePC.GetIntroCharacter().GetLastPlayedServer(charID, ip,
name, port);
396 g_Game.GetVersion(version);
397 m_Version.SetText(
"#main_menu_version" +
" " + version);
412 #ifdef ENABLE_CAROUSEL
428 super.Update(timeslice);
434 if (!
g_Game.GetUIManager().IsDialogHiding())
446 if (!
g_Game.IsNewCharacter())
479 int charID =
m_ScenePC.GetIntroCharacter().GetNextCharacterID();
480 if (charID !=
m_ScenePC.GetIntroCharacter().GetCharacterID())
482 m_ScenePC.GetIntroCharacter().SetCharacterID(charID);
492 int charID =
m_ScenePC.GetIntroCharacter().GetPrevCharacterID();
493 if (charID !=
m_ScenePC.GetIntroCharacter().GetCharacterID())
495 m_ScenePC.GetIntroCharacter().SetCharacterID(charID);
505 int charID =
m_ScenePC.GetIntroCharacter().GetCharacterID();
506 if (create_character)
508 m_ScenePC.GetIntroCharacter().CreateNewCharacterById(charID);
518 if (
m_ScenePC.GetIntroCharacter().IsDefaultCharacter())
520 text.SetText(
"#layout_main_menu_customize_char");
524 text.SetText(
"#layout_main_menu_rename");
527 if (
m_ScenePC.GetIntroCharacter().GetCharacterObj())
529 if (
m_ScenePC.GetIntroCharacter().GetCharacterObj().IsMale())
562 g_Game.OpenURL(
"https://report.bistudio.com/projects/dayz");
578 g_Game.GetUIManager().ShowDialog(
"#main_menu_exit",
"#main_menu_exit_desc",
IDC_MAIN_QUIT, DBT_YESNO, DBB_YES, DMT_QUESTION,
this);
583 if (
g_Game.GetLastVisitedServer(ip, port))
600 int steamQueryPort = 0;
602 if (!
m_ScenePC.GetIntroCharacter().IsDefaultCharacter())
604 int charID =
m_ScenePC.GetIntroCharacter().GetCharacterID();
605 m_ScenePC.GetIntroCharacter().GetLastPlayedServerEx(charID, ip,
name, port, steamQueryPort);
610 g_Game.ConnectFromServerBrowserEx(ip, port, steamQueryPort,
"");
633 else if (code == 555)
647 int color_pnl =
ARGB(255, 0, 0, 0);
648 int color_lbl =
ARGB(255, 255, 0, 0);
649 int color_img =
ARGB(255, 200, 0, 0);
661 int color_pnl =
ARGB(0, 0, 0, 0);
662 int color_lbl =
ARGB(255, 255, 255, 255);
663 int color_img =
ARGB(255, 255, 255, 255);
689 Widget panel = w.FindWidget(w.GetName() +
"_panel");
693 panel.SetColor(color);
702 Widget panel = w.FindWidget(w.GetName() +
"_image");
706 panel.SetColor(color);
721 label.SetColor(color);
726 text.SetColor(color);
731 text2.SetColor(color);
757 #ifdef ENABLE_CAROUSEL
782 for (
int i = 0; i < count; i++)
786 MainMenuDlcHandlerBase handler =
new MainMenuDlcHandlerBase(info,
m_DlcFrame, data);
788 handler.ShowInfoPanel(
true);
810 int count = modArray.Count();
812 for (
int i = count - 1; i > -1; i--)
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
void NewsCarousel(Widget parent, UIScriptedMenu mainMenu)
static JsonDataDLCList GetData()
static void SubscribeDLCUpdate()
static array< ref ModInfo > GetAllMods()
All mods including DLCs.
static void UnsubscribeDLCUpdate()
static ScriptInvoker GetOnDLCChangedSI()
proto owned string GetName()
static void AutoConnectToEmptyServer()
proto bool Remove(func fn, int flags=EScriptInvokerRemoveFlags.ALL)
remove specific call from list
proto bool Insert(func fn, int flags=EScriptInvokerInsertFlags.IMMEDIATE)
insert method to list
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
void Obsolete(string msg="")
proto void GetScreenSize(out int x, out int y)
proto native int Length()
Returns length of string.
int ARGB(int a, int r, int g, int b)