Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
layoutholder.c
Go to the documentation of this file.
1
class
LayoutHolder
extends
ScriptedWidgetEventHandler
2
{
3
protected
Widget
m_MainWidget
;
4
protected
Widget
m_RootWidget
;
5
protected
Widget
m_ParentWidget
;
6
protected
LayoutHolder
m_Parent
;
7
protected
string
m_LayoutName
;
8
9
protected
bool
m_IsActive
;
10
protected
bool
m_ImmedUpdate
;
11
protected
bool
m_TooltipOwner
;
12
13
protected
EntityAI
m_am_entity1
,
m_am_entity2
;
14
15
void
UpdateInterval
();
16
void
SetLayoutName
();
17
18
// Override this and set m_ImmedUpdate to true if you need the widget to update on construction
19
// Had to be done this way since adding it to the constructor parameters would break mods..
20
void
SetImmedUpdate
()
21
{
22
m_ImmedUpdate
=
false
;
23
}
24
25
void
OnSelectAction
(
ItemBase
item,
int
actionId)
26
{
27
#ifdef DIAG_DEVELOPER
28
PlayerBase
m_player
=
PlayerBase
.Cast(
g_Game
.GetPlayer() );
29
m_player
.GetActionManager().OnInstantAction(ActionDebug,
new
Param2<ItemBase,int>
(item,actionId));
30
#endif
31
}
32
33
void
OnSelectActionEx
(
EntityAI
item,
int
actionId)
34
{
35
#ifdef DIAG_DEVELOPER
36
PlayerBase
m_player
=
PlayerBase
.Cast(
g_Game
.GetPlayer() );
37
m_player
.GetActionManager().OnInstantAction(ActionDebug,
new
Param2<EntityAI,int>
(item,actionId));
38
#endif
39
}
40
41
void
ShowActionMenu
(
InventoryItem
item)
42
{
43
PlayerBase
m_player
=
PlayerBase
.Cast(
g_Game
.GetPlayer() );
44
HideOwnedTooltip
();
45
m_am_entity1
= item;
46
m_am_entity2
= null;
47
ContextMenu
cmenu =
ContextMenu
.Cast(
g_Game
.GetUIManager().GetMenu().GetContextMenu());
48
49
cmenu.Hide();
50
cmenu.Clear();
51
52
if
(
m_am_entity1
== null)
53
return
;
54
55
TSelectableActionInfoArrayEx customActions =
new
TSelectableActionInfoArrayEx();
56
ItemBase
itemBase =
ItemBase
.Cast(item);
57
itemBase.
GetDebugActions
(customActions);
58
59
if
(
ItemBase
.GetDebugActionsMask() &
DebugActionType
.PLAYER_AGENTS)
60
{
61
m_player
.GetDebugActions(customActions);
62
}
63
64
int
actionsCount = customActions.Count();
65
for
(
int
i = 0; i < customActions.Count(); i++)
66
{
67
TSelectableActionInfoWithColor
actionInfo =
TSelectableActionInfoWithColor
.Cast(customActions.Get(i));
68
if
(actionInfo)
69
{
70
int
actionId = actionInfo.param2;
71
int
textColor = actionInfo.param4;
72
string
actionText = actionInfo.param3;
73
74
if
(actionId ==
EActions
.SEPARATOR)
75
cmenu.AddEx(actionText, textColor,
this
,
""
, null);
76
else
77
cmenu.AddEx(actionText, textColor,
this
,
"OnSelectActionEx"
,
new
Param3<EntityAI, int, int>
(itemBase, actionId, textColor));
78
}
79
}
80
81
int
actionMenuPosX, actionMenuPosY;
82
GetMousePos
(actionMenuPosX, actionMenuPosY);
83
actionMenuPosX -= 5;
84
actionMenuPosY -= 5;
85
cmenu.Show(actionMenuPosX, actionMenuPosY);
86
}
87
88
89
void
LayoutHolder
(
LayoutHolder
parent )
90
{
91
m_Parent
= parent;
92
93
SetLayoutName
();
94
SetParentWidget
();
95
SetImmedUpdate
();
96
97
m_TooltipOwner
=
false
;
98
99
if
(
m_LayoutName
!=
""
)
100
{
101
m_MainWidget
=
g_Game
.GetWorkspace().CreateWidgets(
m_LayoutName
, null,
false
);
102
m_MainWidget
.Show(
true
,
false
);
103
}
104
105
m_RootWidget
=
m_MainWidget
;
106
107
if
(
m_ParentWidget
)
108
{
109
m_ParentWidget
.Show(
true
,
false
);
110
if
(
m_MainWidget
)
111
{
112
m_ParentWidget
.AddChild(
m_MainWidget
,
false
);
113
}
114
}
115
116
if
(
m_ImmedUpdate
)
117
{
118
if
(
m_MainWidget
)
119
m_MainWidget
.Update();
120
}
121
}
122
123
void
~LayoutHolder
()
124
{
125
HideOwnedTooltip
();
126
delete
m_RootWidget
;
127
}
128
129
LayoutHolder
GetRoot
()
130
{
131
if
(
m_Parent
)
132
{
133
ref
LayoutHolder
container =
m_Parent
.GetRoot();
134
return
container;
135
}
136
else
137
{
138
return
this
;
139
}
140
}
141
142
void
SetParentWidget
()
143
{
144
if
(
m_Parent
)
145
m_ParentWidget
=
m_Parent
.GetMainWidget();
146
}
147
148
LayoutHolder
GetParent
()
149
{
150
return
m_Parent
;
151
}
152
153
void
SetActive
(
bool
active)
154
{
155
m_IsActive
= active;
156
}
157
158
void
SetLastActive
();
159
void
SetFirstActive
();
160
161
bool
IsActive
()
162
{
163
return
m_IsActive
;
164
}
165
166
Widget
GetMainWidget
()
167
{
168
return
m_MainWidget
;
169
}
170
171
Widget
GetRootWidget
()
172
{
173
return
m_RootWidget
;
174
}
175
176
bool
IsDisplayable
()
177
{
178
return
true
;
179
}
180
181
bool
IsVisible
()
182
{
183
if
(
m_RootWidget
)
184
{
185
return
m_RootWidget
.IsVisible();
186
}
187
return
false
;
188
}
189
190
void
OnShow
()
191
{
192
m_RootWidget
.Show(
true
);
193
if
(
m_ParentWidget
)
194
m_ParentWidget
.Show(
true
);
195
}
196
197
void
OnHide
()
198
{
199
m_RootWidget
.Show(
false
);
200
}
201
202
void
Refresh
()
203
{
204
m_RootWidget
.Update();
205
}
206
207
void
InspectItem
(
EntityAI
item )
208
{
209
InventoryMenu
menu =
InventoryMenu
.Cast(
g_Game
.GetUIManager().FindMenu(
MENU_INVENTORY
) );
210
InspectMenuNew inspect_menu = InspectMenuNew.Cast( menu.EnterScriptedMenu(
MENU_INSPECT
) );
211
if
( inspect_menu )
212
{
213
Hud
hud =
g_Game
.GetMission().GetHud();
214
hud.
ShowHudUI
(
false
);
215
hud.
ShowQuickbarUI
(
false
);
216
inspect_menu.SetItem( item );
217
}
218
}
219
220
void
UpdateSelectionIcons
()
221
{}
222
223
void
PrepareOwnedTooltip
(
EntityAI
item
/*, Widget w*/
,
int
x
= 0,
int
y
= 0)
224
{
225
ItemManager
.
GetInstance
().
PrepareTooltip
(item,
x
,
y
);
226
m_TooltipOwner
=
true
;
227
}
228
229
void
PrepareOwnedSlotsTooltip
(
Widget
w,
string
name
,
string
desc,
int
x
= 0,
int
y
= 0)
230
{
231
ItemManager
.
GetInstance
().
SetTooltipWidget
(w);
232
ItemManager
.
GetInstance
().
PrepareSlotsTooltip
(
name
,desc,
x
,
y
);
233
m_TooltipOwner
=
true
;
234
}
235
236
void
HideOwnedTooltip
()
237
{
238
if
(
m_TooltipOwner
)
239
{
240
ItemManager
.
GetInstance
().
HideTooltip
();
241
m_TooltipOwner
=
false
;
242
}
243
}
244
245
void
HideOwnedSlotsTooltip
()
246
{
247
if
(
m_TooltipOwner
)
248
{
249
ItemManager
.
GetInstance
().
HideTooltipSlot
();
250
m_TooltipOwner
=
false
;
251
}
252
}
253
}
TSelectableActionInfoWithColor
Param4< int, int, string, int > TSelectableActionInfoWithColor
Definition
entityai.c:104
name
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
EntityAI
Definition
inventoryitem.c:2
Hud
Definition
gameplay.c:638
Hud::ShowHudUI
void ShowHudUI(bool show)
Hud::ShowQuickbarUI
void ShowQuickbarUI(bool show)
InventoryItem
Definition
itembase.c:21
ItemBase
Definition
inventoryitem.c:742
ItemBase::GetDebugActions
override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
Definition
powergenerator.c:397
ItemManager
Definition
itemmanager.c:2
ItemManager::PrepareTooltip
void PrepareTooltip(EntityAI item, int x=0, int y=0)
Definition
itemmanager.c:522
ItemManager::HideTooltipSlot
void HideTooltipSlot()
Definition
itemmanager.c:407
ItemManager::PrepareSlotsTooltip
void PrepareSlotsTooltip(string name, string desc, int x=0, int y=0)
position is currentlycalculated from the owning 'm_TooltipSourceWidget' directly
Definition
itemmanager.c:585
ItemManager::HideTooltip
void HideTooltip()
Definition
itemmanager.c:398
ItemManager::SetTooltipWidget
void SetTooltipWidget(Widget w)
Definition
itemmanager.c:674
ItemManager::GetInstance
static ItemManager GetInstance()
Definition
itemmanager.c:282
LayoutHolder
Definition
container.c:2
LayoutHolder::SetLayoutName
override void SetLayoutName()
Definition
container.c:1196
Param2
Definition
ppeconstants.c:68
Param3
Definition
entityai.c:102
PlayerBase
Definition
playerbaseclient.c:2
ScriptedWidgetEventHandler
map: item x vector(index, width, height)
Definition
enwidgets.c:657
ScriptedWidgetEventHandler::UpdateSelectionIcons
void UpdateSelectionIcons()
Definition
layoutholder.c:220
ScriptedWidgetEventHandler::HideOwnedTooltip
void HideOwnedTooltip()
Definition
layoutholder.c:236
ScriptedWidgetEventHandler::UpdateInterval
void UpdateInterval()
ScriptedWidgetEventHandler::~LayoutHolder
void ~LayoutHolder()
Definition
layoutholder.c:123
ScriptedWidgetEventHandler::LayoutHolder
void LayoutHolder(LayoutHolder parent)
Definition
layoutholder.c:89
ScriptedWidgetEventHandler::PrepareOwnedTooltip
void PrepareOwnedTooltip(EntityAI item, int x=0, int y=0)
Definition
layoutholder.c:223
ScriptedWidgetEventHandler::SetActive
void SetActive(bool active)
Definition
layoutholder.c:153
ScriptedWidgetEventHandler::m_am_entity1
EntityAI m_am_entity1
Definition
layoutholder.c:13
ScriptedWidgetEventHandler::m_ParentWidget
Widget m_ParentWidget
Definition
uihintpanel.c:29
ScriptedWidgetEventHandler::GetRoot
LayoutHolder GetRoot()
Definition
layoutholder.c:129
ScriptedWidgetEventHandler::m_Parent
LayoutHolder m_Parent
Definition
layoutholder.c:6
ScriptedWidgetEventHandler::OnSelectAction
void OnSelectAction(ItemBase item, int actionId)
Definition
layoutholder.c:25
ScriptedWidgetEventHandler::m_ImmedUpdate
bool m_ImmedUpdate
Definition
layoutholder.c:10
ScriptedWidgetEventHandler::m_MainWidget
Widget m_MainWidget
Definition
layoutholder.c:3
ScriptedWidgetEventHandler::SetParentWidget
void SetParentWidget()
Definition
layoutholder.c:142
ScriptedWidgetEventHandler::m_TooltipOwner
bool m_TooltipOwner
Definition
layoutholder.c:11
ScriptedWidgetEventHandler::m_IsActive
bool m_IsActive
Definition
layoutholder.c:9
ScriptedWidgetEventHandler::ContextMenu
void ContextMenu()
Definition
contextmenu.c:11
ScriptedWidgetEventHandler::SetLastActive
void SetLastActive()
ScriptedWidgetEventHandler::SetLayoutName
void SetLayoutName()
ScriptedWidgetEventHandler::OnShow
void OnShow()
Definition
layoutholder.c:190
ScriptedWidgetEventHandler::m_am_entity2
EntityAI m_am_entity2
Definition
layoutholder.c:13
ScriptedWidgetEventHandler::Refresh
void Refresh()
Definition
layoutholder.c:202
ScriptedWidgetEventHandler::InspectItem
void InspectItem(EntityAI item)
Definition
layoutholder.c:207
ScriptedWidgetEventHandler::GetRootWidget
Widget GetRootWidget()
Definition
layoutholder.c:171
ScriptedWidgetEventHandler::IsActive
bool IsActive()
Definition
layoutholder.c:161
ScriptedWidgetEventHandler::OnSelectActionEx
void OnSelectActionEx(EntityAI item, int actionId)
Definition
layoutholder.c:33
ScriptedWidgetEventHandler::m_LayoutName
string m_LayoutName
Definition
layoutholder.c:7
ScriptedWidgetEventHandler::HideOwnedSlotsTooltip
void HideOwnedSlotsTooltip()
Definition
layoutholder.c:245
ScriptedWidgetEventHandler::ShowActionMenu
void ShowActionMenu(InventoryItem item)
Definition
layoutholder.c:41
ScriptedWidgetEventHandler::SetImmedUpdate
void SetImmedUpdate()
Definition
layoutholder.c:20
ScriptedWidgetEventHandler::PrepareOwnedSlotsTooltip
void PrepareOwnedSlotsTooltip(Widget w, string name, string desc, int x=0, int y=0)
Definition
layoutholder.c:229
ScriptedWidgetEventHandler::GetParent
LayoutHolder GetParent()
Definition
layoutholder.c:148
ScriptedWidgetEventHandler::OnHide
void OnHide()
Definition
layoutholder.c:197
ScriptedWidgetEventHandler::m_RootWidget
Widget m_RootWidget
Definition
layoutholder.c:4
ScriptedWidgetEventHandler::SetFirstActive
void SetFirstActive()
ScriptedWidgetEventHandler::IsDisplayable
bool IsDisplayable()
Definition
layoutholder.c:176
ScriptedWidgetEventHandler::GetMainWidget
Widget GetMainWidget()
Definition
layoutholder.c:166
ScriptedWidgetEventHandler::IsVisible
bool IsVisible()
Definition
layoutholder.c:181
Widget
Definition
enwidgets.c:190
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
EActions
EActions
Definition
eactions.c:2
MENU_INSPECT
const int MENU_INSPECT
Definition
constants.c:179
MENU_INVENTORY
const int MENU_INVENTORY
Definition
constants.c:180
GetMousePos
proto void GetMousePos(out int x, out int y)
x
Icon x
y
Icon y
InventoryMenu
void InventoryMenu()
Definition
inventorymenu.c:20
DebugActionType
DebugActionType
Definition
plugindiagmenu.c:2
m_player
DayZPlayer m_player
Definition
randomgeneratorsyncmanager.c:16
Games
Dayz
scripts
5_mission
gui
inventorynew
layoutholder.c
Generated by
1.17.0