Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
handsarea.c
Go to the documentation of this file.
1
class
HandsArea
:
Container
2
{
3
protected
ScrollWidget
m_Scroller
;
4
protected
ref
HandsContainer
m_HandsContainer
;
5
protected
ref SizeToChild
m_HandsResizer
;
6
7
protected
bool
m_ShouldChangeSize
=
true
;
8
9
void
HandsArea
(
LayoutHolder
parent )
10
{
11
m_HandsContainer
=
new
HandsContainer
(
this
);
12
m_Body.Insert(
m_HandsContainer
);
13
14
if
( m_ImmedUpdate )
15
m_MainWidget.Update();
16
17
m_ParentWidget
.GetScript(
m_HandsResizer
);
18
m_Scroller
= ScrollWidget.Cast(
m_ParentWidget
);
19
RecomputeOpenedContainers();
20
}
21
22
bool
IsSwapActive
()
23
{
24
Widget
swap_cursor = m_MainWidget.FindAnyWidget(
"SwapCursor"
);
25
26
if
( swap_cursor )
27
return
swap_cursor.IsVisible();
28
else
29
return
false
;
30
}
31
32
bool
IsCombineActive
()
33
{
34
Widget
combine_cursor = m_MainWidget.FindAnyWidget(
"CombineCursor"
);
35
36
if
( combine_cursor )
37
return
combine_cursor.IsVisible();
38
else
39
return
false
;
40
}
41
42
override
ScrollWidget
GetScrollWidget
()
43
{
44
return
m_Scroller
;
45
}
46
47
override
void
UpdateSelectionIcons
()
48
{
49
#ifdef PLATFORM_CONSOLE
50
ScrollToActiveContainer();
51
#endif
52
}
53
54
override
void
UpdateInterval
()
55
{
56
if
(!
m_Scroller
.IsScrollbarVisible())
57
{
58
m_Scroller
.VScrollToPos01(0.0);
59
}
60
else
if
(
m_Scroller
.GetVScrollPos01() > 1.0)
61
{
62
m_Scroller
.VScrollToPos01(1.0);
63
}
64
m_HandsContainer
.UpdateInterval();
65
66
float
x
,
y
;
67
float
x2, y2;
68
m_Scroller
.GetScreenSize(
x
,
y
);
69
m_MainWidget.GetScreenSize( x2, y2 );
70
if
( y2 !=
y
)
71
m_ShouldChangeSize
=
true
;
72
73
bool
changed_size;
74
if
(
m_ShouldChangeSize
&&
m_HandsResizer
.ResizeParentToChild( changed_size,
InventoryMenu
.GetHeight() * 0.5 ) )
75
m_Scroller
.SetAlpha( 0.3921 );
76
else
77
m_Scroller
.SetAlpha( 0 );
78
79
if
( changed_size )
80
m_ShouldChangeSize
=
false
;
81
}
82
83
override
void
SetLayoutName
()
84
{
85
m_LayoutName =
WidgetLayoutName
.
HandsArea
;
86
}
87
88
override
void
SetParentWidget
()
89
{
90
m_ParentWidget
=
m_Parent
.GetMainWidget().FindAnyWidget(
"HandsPanel"
);
91
}
92
93
override
void
OnShow
()
94
{
95
super.OnShow();
96
m_HandsContainer
.OnShow();
97
}
98
99
override
void
Refresh
()
100
{
101
UpdateSelectionIcons
();
102
m_ShouldChangeSize
=
true
;
103
}
104
105
override
void
SetSameLevelNextActive
()
106
{
107
super.SetSameLevelNextActive();
108
Refresh
();
109
}
110
111
override
void
SetSameLevelPreviousActive
()
112
{
113
super.SetSameLevelPreviousActive();
114
Refresh
();
115
}
116
117
void
DraggingOverHandsPanel
(
Widget
w,
int
x
,
int
y
,
Widget
receiver )
118
{
119
if
( w == NULL )
120
{
121
return
;
122
}
123
124
ItemPreviewWidget
ipw =
ItemPreviewWidget
.Cast( w.FindAnyWidget(
"Render"
) );
125
126
if
( !ipw )
127
{
128
string
name
= w.GetName();
129
name
.Replace(
"PanelWidget"
,
"Render"
);
130
ipw =
ItemPreviewWidget
.Cast( w.FindAnyWidget(
name
) );
131
}
132
133
if
( !ipw )
134
{
135
ipw =
ItemPreviewWidget
.Cast( w );
136
}
137
138
if
( !ipw || !ipw.IsInherited(
ItemPreviewWidget
) )
139
{
140
return
;
141
}
142
143
if
( ipw.
GetItem
() &&
g_Game
.GetPlayer().GetHumanInventory().CanAddEntityIntoHands( ipw.
GetItem
() ) )
144
{
145
ColorManager
.
GetInstance
().
SetColor
( w,
ColorManager
.
GREEN_COLOR
);
146
ItemManager
.
GetInstance
().
HideDropzones
();
147
ItemManager
.
GetInstance
().
GetCenterDropzone
().SetAlpha( 1 );
148
}
149
else
150
{
151
ColorManager
.
GetInstance
().
SetColor
( w,
ColorManager
.
RED_COLOR
);
152
ItemManager
.
GetInstance
().
HideDropzones
();
153
ItemManager
.
GetInstance
().
GetCenterDropzone
().SetAlpha( 1 );
154
}
155
}
156
157
void
OnHandsPanelDropReceived
(
Widget
w,
int
x
,
int
y
,
Widget
receiver )
158
{
159
ItemPreviewWidget
ipw =
ItemPreviewWidget
.Cast( w.FindAnyWidget(
"Render"
) );
160
if
( !ipw )
161
{
162
string
name
= w.GetName();
163
name
.Replace(
"PanelWidget"
,
"Render"
);
164
ipw =
ItemPreviewWidget
.Cast( w.FindAnyWidget(
name
) );
165
}
166
167
if
( !ipw )
168
{
169
ipw =
ItemPreviewWidget
.Cast( w );
170
}
171
172
if
( !ipw || !ipw.
GetItem
() || !ipw.IsInherited(
ItemPreviewWidget
) )
173
{
174
return
;
175
}
176
177
if
( !ipw.
GetItem
().GetInventory().CanRemoveEntity() )
178
return
;
179
180
if
(
g_Game
.GetPlayer().GetHumanInventory().CanAddEntityIntoHands( ipw.
GetItem
() ) )
181
{
182
ItemBase
item_base =
ItemBase
.Cast( ipw.
GetItem
() );
183
float
stackable = item_base.GetTargetQuantityMax(-1);
184
185
if
( stackable == 0 || item_base.GetQuantity() <= stackable )
186
{
187
g_Game
.GetPlayer().PredictiveTakeEntityToHands( item_base );
188
}
189
else
if
( stackable != 0 && stackable <= item_base.GetQuantity() )
190
{
191
item_base.SplitIntoStackMaxHandsClient(
PlayerBase
.Cast(
g_Game
.GetPlayer() ) );
192
}
193
}
194
}
195
}
m_ParentWidget
Widget m_ParentWidget
Definition
uihintpanel.c:318
m_Parent
Entity m_Parent
Definition
cachedequipmentstoragebase.c:15
name
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
ColorManager
Definition
colormanager.c:2
ColorManager::GREEN_COLOR
static int GREEN_COLOR
Definition
colormanager.c:17
ColorManager::GetInstance
static ColorManager GetInstance()
Definition
colormanager.c:27
ColorManager::RED_COLOR
static int RED_COLOR
Definition
colormanager.c:16
ColorManager::SetColor
void SetColor(Widget w, int color)
Definition
colormanager.c:32
Container
Definition
cargocontainer.c:3
HandsArea::IsSwapActive
bool IsSwapActive()
Definition
handsarea.c:22
HandsArea::m_Scroller
ScrollWidget m_Scroller
Definition
handsarea.c:3
HandsArea::Refresh
override void Refresh()
Definition
handsarea.c:99
HandsArea::OnHandsPanelDropReceived
void OnHandsPanelDropReceived(Widget w, int x, int y, Widget receiver)
Definition
handsarea.c:157
HandsArea::DraggingOverHandsPanel
void DraggingOverHandsPanel(Widget w, int x, int y, Widget receiver)
Definition
handsarea.c:117
HandsArea::UpdateSelectionIcons
override void UpdateSelectionIcons()
Definition
handsarea.c:47
HandsArea::UpdateInterval
override void UpdateInterval()
Definition
handsarea.c:54
HandsArea::OnShow
override void OnShow()
Definition
handsarea.c:93
HandsArea::m_HandsContainer
ref HandsContainer m_HandsContainer
Definition
handsarea.c:4
HandsArea::m_ShouldChangeSize
bool m_ShouldChangeSize
Definition
handsarea.c:7
HandsArea::GetScrollWidget
override ScrollWidget GetScrollWidget()
Definition
handsarea.c:42
HandsArea::IsCombineActive
bool IsCombineActive()
Definition
handsarea.c:32
HandsArea::SetParentWidget
override void SetParentWidget()
Definition
handsarea.c:88
HandsArea::HandsArea
void HandsArea(LayoutHolder parent)
Definition
handsarea.c:9
HandsArea::SetSameLevelPreviousActive
override void SetSameLevelPreviousActive()
Definition
handsarea.c:111
HandsArea::SetLayoutName
override void SetLayoutName()
Definition
handsarea.c:83
HandsArea::m_HandsResizer
ref SizeToChild m_HandsResizer
Definition
handsarea.c:5
HandsArea::SetSameLevelNextActive
override void SetSameLevelNextActive()
Definition
handsarea.c:105
HandsContainer
Definition
handscontainer.c:2
ItemBase
Definition
inventoryitem.c:742
ItemManager
Definition
itemmanager.c:2
ItemManager::GetCenterDropzone
Widget GetCenterDropzone()
Definition
itemmanager.c:351
ItemManager::HideDropzones
void HideDropzones()
Definition
itemmanager.c:287
ItemManager::GetInstance
static ItemManager GetInstance()
Definition
itemmanager.c:282
ItemPreviewWidget
Definition
gameplay.c:277
ItemPreviewWidget::GetItem
proto native EntityAI GetItem()
LayoutHolder
Definition
container.c:2
PlayerBase
Definition
playerbaseclient.c:2
Widget
Definition
enwidgets.c:190
WidgetLayoutName
Definition
widgetlayoutname.c:2
WidgetLayoutName::HandsArea
const string HandsArea
Definition
widgetlayoutname.c:46
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
x
Icon x
y
Icon y
InventoryMenu
void InventoryMenu()
Definition
inventorymenu.c:20
Games
Dayz
scripts
5_mission
gui
inventorynew
areas
handsarea.c
Generated by
1.17.0