DayZ 1.24
Loading...
Searching...
No Matches
ItemDropWarningMenu.c
Go to the documentation of this file.
2{
5
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
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
84#endif
85 }
86
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
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
114{
115 override string GetText()
117 return "#str_item_drop_notification";
118 }
120
122{
123 override string GetText()
124 {
125 return "#str_position_change_notification";
126 }
127}
ActionInput GetInput()
Definition ActionBase.c:989
string GetText()
Definition ActionBase.c:264
Icon x
Icon y
void Close()
proto native UAInputAPI GetUApi()
static string GetRichtextButtonIconFromInputAction(notnull UAInput pInput, string pLocalizedDescription, int pInputDeviceType=EUAINPUT_DEVICE_CONTROLLER, float pScale=ICON_SCALE_NORMAL, bool pVertical=false)
Definition InputUtils.c:151
static const float ICON_SCALE_TOOLBAR
Definition InputUtils.c:15
override bool OnClick(Widget w, int x, int y, int button)
override Widget Init()
MultilineTextWidget m_Description
void OnInputDeviceChanged(EInputDeviceType pInputDeviceType)
override void Update(float timeslice)
ButtonWidget m_OkButton
void UpdateControlsElementVisibility()
proto native CGame GetGame()
const int IDC_OK
Definition constants.c:127
EInputDeviceType
Definition input.c:3