Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
itemdropwarningmenu.c
Go to the documentation of this file.
2 {
3  protected ButtonWidget m_OkButton;
4  protected MultilineTextWidget m_Description;
5 
6  void WarningMenuBase()
7  {
8  if (GetGame().GetMission())
9  {
10  GetGame().GetMission().AddActiveInputExcludes({"menu"});
11 
12  GetGame().GetMission().GetHud().ShowHudUI(false);
13  GetGame().GetMission().GetHud().ShowQuickbarUI(false);
14  }
15  }
16 
17  void ~WarningMenuBase()
18  {
19  if (GetGame() && GetGame().GetMission())
20  {
21  GetGame().GetMission().RemoveActiveInputExcludes({"menu"},true);
22 
23  GetGame().GetMission().GetHud().ShowHudUI(true);
24  GetGame().GetMission().GetHud().ShowQuickbarUI(true);
25 
26  GetGame().GetMission().GetOnInputPresetChanged().Remove(OnInputPresetChanged);
27  GetGame().GetMission().GetOnInputDeviceChanged().Remove(OnInputDeviceChanged);
28  }
29  }
30 
31  override Widget Init()
32  {
33  layoutRoot = GetGame().GetWorkspace().CreateWidgets("gui/layouts/day_z_dropped_items.layout");
34  m_OkButton = ButtonWidget.Cast(layoutRoot.FindAnyWidget("bOK"));
35  m_Description = MultilineTextWidget.Cast(layoutRoot.FindAnyWidget("txtDescription"));
36  m_Description.Show(true);
37 
38  string text = Widget.TranslateString(GetText());
39  m_Description.SetText(text);
40 
41  if (GetGame().GetMission())
42  {
43  GetGame().GetMission().GetOnInputPresetChanged().Insert(OnInputPresetChanged);
44  GetGame().GetMission().GetOnInputDeviceChanged().Insert(OnInputDeviceChanged);
45  }
46 
47  OnInputDeviceChanged(GetGame().GetInput().GetCurrentInputDevice());
48 
49  return layoutRoot;
50  }
51 
52  string GetText()
53  {
54  return "";
55  }
56 
57  override bool OnClick(Widget w, int x, int y, int button)
58  {
59  super.OnClick(w, x, y, button);
60 
61  if (w.GetUserID() == IDC_OK)
62  {
63  Close();
64  return true;
65  }
66 
67  return false;
68  }
69 
70  override void Update(float timeslice)
71  {
72  super.Update(timeslice);
73 
74  #ifdef PLATFORM_CONSOLE
75  if (GetUApi().GetInputByID(UAUISelect).LocalPress())
76  Close();
77  #endif
78  }
79 
80  protected void OnInputPresetChanged()
81  {
82  #ifdef PLATFORM_CONSOLE
83  UpdateControlsElements();
84  #endif
85  }
86 
87  protected void OnInputDeviceChanged(EInputDeviceType pInputDeviceType)
88  {
89  UpdateControlsElements();
90  UpdateControlsElementVisibility();
91  }
92 
93  protected void UpdateControlsElements()
94  {
95  RichTextWidget toolbarText = RichTextWidget.Cast(layoutRoot.FindAnyWidget("ContextToolbarText"));
96  string context = string.Format(" %1", InputUtils.GetRichtextButtonIconFromInputAction("UAUISelect", "#early_access_alpha_understand", EUAINPUT_DEVICE_CONTROLLER, InputUtils.ICON_SCALE_TOOLBAR));
97 
98  toolbarText.SetText(context);
99  }
100 
101  protected void UpdateControlsElementVisibility()
102  {
103  bool toolbarShow = false;
104  #ifdef PLATFORM_CONSOLE
105  toolbarShow = !GetGame().GetInput().IsEnabledMouseAndKeyboard() || GetGame().GetInput().GetCurrentInputDevice() == EInputDeviceType.CONTROLLER;
106  #endif
107 
108  layoutRoot.FindAnyWidget("BottomConsoleToolbar").Show(toolbarShow);
109  m_OkButton.Show(!toolbarShow);
110  }
111 }
112 
113 class ItemDropWarningMenu : WarningMenuBase
114 {
115  override string GetText()
116  {
117  return "#str_item_drop_notification";
118  }
119 }
120 
122 {
123  override string GetText()
124  {
125  return "#str_position_change_notification";
126  }
127 }
GetGame
proto native CGame GetGame()
UIScriptedMenu
Definition: dayzgame.c:63
PlayerRepositionWarningMenu
Definition: itemdropwarningmenu.c:121
InputUtils
Definition: inpututils.c:1
Close
void Close()
y
Icon y
m_OkButton
protected ButtonWidget m_OkButton
Definition: itemdropwarningmenu.c:2
EInputDeviceType
EInputDeviceType
Definition: input.c:2
m_Description
string m_Description
class purpose description
Definition: enentity.c:845
RichTextWidget
Definition: gameplay.c:315
WarningMenuBase
Definition: itemdropwarningmenu.c:1
x
Icon x
IDC_OK
const int IDC_OK
Definition: constants.c:127
Widget
Definition: enwidgets.c:189
GetUApi
proto native UAInputAPI GetUApi()
GetInput
ActionInput GetInput()
Definition: actionbase.c:1066
GetText
WarningMenuBase UIScriptedMenu GetText()
Definition: itemdropwarningmenu.c:115