DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
SlotsIcon.c
См. документацию.
2{
3 override protected void InitIcon(LayoutHolder parent, Widget root, int index, EntityAI slot_parent)
4 {
5 super.InitIcon(parent,root,index,slot_parent);
6
9
10 WidgetEventHandler.GetInstance().RegisterOnMouseEnter( m_GhostSlot, this, "MouseEnterGhostSlot" );
11 WidgetEventHandler.GetInstance().RegisterOnMouseLeave( m_GhostSlot, this, "MouseLeaveGhostSlot" );
12
15 }
16
17 override protected void InitIconWidgets(LayoutHolder parent, Widget root, int index, EntityAI slot_parent)
18 {
19 super.InitIconWidgets(parent,root,index,slot_parent);
20
21 m_PanelWidget = m_MainWidget.FindAnyWidget( "PanelWidget" + index );
22
23 m_CursorWidget = m_MainWidget.FindAnyWidget( "Cursor" + index );
24 m_ColWidget = m_MainWidget.FindAnyWidget( "Col" + index );
25 m_MountedWidget = m_MainWidget.FindAnyWidget( "Mounted" + index );
26 m_OutOfReachWidget = m_MainWidget.FindAnyWidget( "OutOfReach" + index );
27
28 m_ItemPreview = ItemPreviewWidget.Cast( m_MainWidget.FindAnyWidget( "Render" + index ) );
29 m_ItemPreview.SetForceFlipEnable(true);
30 m_ItemPreview.SetForceFlip(false);
31
32 m_GhostSlot = ImageWidget.Cast( m_MainWidget.FindAnyWidget( "GhostSlot" + index ) );
33
34 m_ColorWidget = m_MainWidget.FindAnyWidget( "Color" + index );
35 m_SelectedPanel = m_MainWidget.FindAnyWidget( "Selected" + index );
36 m_EmptySelectedPanel = m_MainWidget.FindAnyWidget( "EmptySelected" + index );
37 m_MicromanagedPanel = m_MainWidget.FindAnyWidget( "Micromanaged" + index );
38
39 m_QuantityPanel = m_MainWidget.FindAnyWidget( "QuantityPanel" + index );
40 m_QuantityItem = TextWidget.Cast( m_MainWidget.FindAnyWidget( "Quantity" + index ) );
41 m_QuantityProgress = ProgressBarWidget.Cast( m_MainWidget.FindAnyWidget( "QuantityBar" + index ) );
42 m_QuantityStack = m_MainWidget.FindAnyWidget( "QuantityStackPanel" + index );
43
44 m_ItemSizePanel = m_MainWidget.FindAnyWidget( "ItemSizePanel" + index );
45 m_ItemSizeWidget = TextWidget.Cast( m_MainWidget.FindAnyWidget( "ItemSize" + index ) );
46
47 m_AmmoIcon = ImageWidget.Cast(m_MainWidget.FindAnyWidget( "AmmoIcon" + index ));
48
49 m_RadialIconPanel = m_MainWidget.FindAnyWidget( "RadialIconPanel" + index );
50 m_RadialIconClosed = m_MainWidget.FindAnyWidget( "RadialIconClosed" + index );
51 m_RadialIcon = m_MainWidget.FindAnyWidget( "RadialIcon" + index );
52
53 m_ReservedWidget = Widget.Cast( g_Game.GetWorkspace().CreateWidgets( "gui/layouts/inventory_new/reserved_icon.layout", m_MainWidget ) );
54 m_ReservedWidget.Show(false);
55 }
56
57 override void ClearRemainSelected()
58 {
59 if (m_IsDragged)
61
62 super.ClearRemainSelected();
63 }
64
65 override void Clear()
66 {
67 #ifdef PLATFORM_CONSOLE
68 m_SelectedPanel.Show(false);
69 #endif
70
71 super.Clear();
72 }
73
74 override protected void HandleConsoleToolbar()
75 {
76 #ifdef PLATFORM_CONSOLE
77 if (IsFocused())
78 {
79 Inventory.GetInstance().UpdateConsoleToolbar();
80 }
81 #endif
82 }
83
84 override void CheckHasItemSize()
85 {
86 #ifdef PLATFORM_CONSOLE
87 string config = "CfgVehicles " + m_Obj.GetType() + " GUIInventoryAttachmentsProps";
88 m_HasItemSize = ( InventoryItem.Cast( m_Obj ) && !g_Game.ConfigIsExisting( config ) );
89 #else
90 m_HasItemSize = false;
91 #endif
92 }
93
94 bool MouseEnter(Widget w, int x, int y)
95 {
96 if( m_Reserved )
97 return MouseEnterGhostSlot(w, x, y);
98
99 PrepareOwnedTooltip( m_Item, x, y );
101 {
102 m_CursorWidget.Show( true );
103 }
104 return true;
105 }
106
107 bool MouseLeave( Widget w, Widget s, int x, int y )
108 {
109 if( m_Reserved )
110 return MouseLeaveGhostSlot(w, s, x, y);
111
112 HideOwnedTooltip();
114 {
115 m_CursorWidget.Show( false );
116 }
117 return true;
118 }
119
120 bool MouseEnterGhostSlot(Widget w, int x, int y)
121 {
122 float pos_x, pos_y;
123 m_MainWidget.GetScreenPos(pos_x, pos_y);
124
125 x = pos_x;
126 y = pos_y;
127
128 PrepareOwnedSlotsTooltip( m_MainWidget, m_SlotDisplayName, m_SlotDesc, x, y );
130 {
131 m_EmptySelectedPanel.Show( true );
132 }
133
134 return true;
135 }
136
137 bool MouseLeaveGhostSlot( Widget w, Widget s, int x, int y )
138 {
139 HideOwnedSlotsTooltip();
140
142 {
143 m_EmptySelectedPanel.Show( false );
144 }
145
146 return true;
147 }
148
150 {
151 if(!m_Obj || !w)
152 {
153 return;
154 }
156 if( m_Obj.GetHierarchyRootPlayer() == g_Game.GetPlayer() )
157 {
158 ItemManager.GetInstance().GetRightDropzone().SetAlpha( 1 );
159 }
160 else
161 {
162 ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
163 }
164
166 int icon_x, icon_y;
167 float icon_size, y;
168 int m_sizeX, m_sizeY;
169
170 if( m_Item )
171 {
172 g_Game.GetInventoryItemSize( m_Item, icon_x, icon_y );
173
174 CargoContainer c_parent = CargoContainer.Cast( m_Parent );
175 HandsPreview h_parent = HandsPreview.Cast( m_Parent );
176
177 if( GetRoot().m_MainWidget.FindAnyWidget( "HandsPanel" ) )
178 {
179 GetRoot().m_MainWidget.FindAnyWidget( "HandsPanel" ).GetScreenSize( icon_size, y );
180 }
181
182 icon_size = icon_size / 10;
183
184 w.SetFlags( WidgetFlags.EXACTSIZE );
185 m_ItemPreview.SetForceFlipEnable(false);
186
187 if( !m_Item.GetInventory().GetFlipCargo() )
188 {
189 w.SetSize( icon_x * icon_size , icon_y * icon_size );
190 }
191 else
192 {
193 w.SetSize( icon_y * icon_size , icon_x * icon_size );
194 }
195
196 m_ColWidget.Show( true );
197 m_CursorWidget.Show( true );
198
200 }
201 m_IsDragged = true;
202 }
203
205 {
206 m_IsDragged = false;
209 w.ClearFlags( WidgetFlags.EXACTSIZE );
210 w.SetSize( 1, 1 );
211 m_ColWidget.Show( false );
212 m_CursorWidget.Show( false );
213 m_EmptySelectedPanel.Show( false );
214 m_CursorWidget.SetColor( ARGBF( 1, 1, 1, 1 ) );
215 m_ItemPreview.SetForceFlipEnable(true);
216 }
217}
void Inventory(LayoutHolder parent)
Entity m_Parent
Определения CachedEquipmentStorageBase.c:17
DayZGame g_Game
Определения DayZGame.c:4074
Icon x
Icon y
Определения HandsPreview.c:2
Определения Feet.c:1
Widget GetLeftDropzone()
Определения ItemManager.c:336
void SetDraggedItem(EntityAI dragged_item)
Определения ItemManager.c:363
Widget GetRightDropzone()
Определения ItemManager.c:344
void HideDropzones()
Определения ItemManager.c:287
void SetIsDragging(bool is_dragging)
Определения ItemManager.c:383
static ItemManager GetInstance()
Определения ItemManager.c:282
Определения ItemManager.c:2
Определения gameplay.c:287
Определения Container.c:2
bool MouseEnter(Widget w, int x, int y)
Определения SlotsIcon.c:94
void OnIconDrag(Widget w)
Определения SlotsIcon.c:149
override void CheckHasItemSize()
Определения SlotsIcon.c:84
bool MouseLeave(Widget w, Widget s, int x, int y)
Определения SlotsIcon.c:107
bool MouseLeaveGhostSlot(Widget w, Widget s, int x, int y)
Определения SlotsIcon.c:137
void OnIconDrop(Widget w)
Определения SlotsIcon.c:204
void InitIcon(LayoutHolder parent, Widget root, int index, EntityAI slot_parent)
Определения SlotsIcon.c:3
override void Clear()
Определения SlotsIcon.c:65
override void ClearRemainSelected()
Определения SlotsIcon.c:57
void InitIconWidgets(LayoutHolder parent, Widget root, int index, EntityAI slot_parent)
Определения SlotsIcon.c:17
void HandleConsoleToolbar()
Определения SlotsIcon.c:74
bool MouseEnterGhostSlot(Widget w, int x, int y)
Определения SlotsIcon.c:120
bool m_IsDragged
Определения SlotsIconBase.c:18
ItemBase m_Item
Определения SlotsIconBase.c:14
Widget m_RadialIconClosed
Определения SlotsIconBase.c:48
Widget m_SelectedPanel
Определения SlotsIconBase.c:32
string m_SlotDesc
Определения SlotsIconBase.c:42
Widget m_ReservedWidget
Определения SlotsIconBase.c:26
Widget m_PanelWidget
Определения SlotsIconBase.c:20
Widget m_EmptySelectedPanel
Определения SlotsIconBase.c:33
ProgressBarWidget m_QuantityProgress
Определения SlotsIconBase.c:38
Widget m_MountedWidget
Определения SlotsIconBase.c:24
Widget m_OutOfReachWidget
Определения SlotsIconBase.c:25
ImageWidget m_GhostSlot
Определения SlotsIconBase.c:29
Widget m_ItemSizePanel
Определения SlotsIconBase.c:44
Widget m_QuantityPanel
Определения SlotsIconBase.c:36
Widget m_ColorWidget
Определения SlotsIconBase.c:31
Widget m_RadialIcon
Определения SlotsIconBase.c:49
string m_SlotDisplayName
Определения SlotsIconBase.c:41
bool m_HasItemSize
Определения SlotsIconBase.c:10
Widget m_CursorWidget
Определения SlotsIconBase.c:22
ItemPreviewWidget m_ItemPreview
Определения SlotsIconBase.c:28
TextWidget m_ItemSizeWidget
Определения SlotsIconBase.c:45
void SlotsIconBase(LayoutHolder parent, Widget root, int index, EntityAI slot_parent)
Определения SlotsIconBase.c:56
EntityAI m_Obj
Определения SlotsIconBase.c:13
Widget m_MicromanagedPanel
Определения SlotsIconBase.c:34
bool m_Reserved
Определения SlotsIconBase.c:51
TextWidget m_QuantityItem
Определения SlotsIconBase.c:37
bool IsFocused()
Определения SlotsIconBase.c:285
ImageWidget m_AmmoIcon
Определения SlotsIconBase.c:53
Widget m_QuantityStack
Определения SlotsIconBase.c:39
bool IsOutOfReach()
Определения SlotsIconBase.c:700
Widget m_ColWidget
Определения SlotsIconBase.c:23
Widget m_RadialIconPanel
Определения SlotsIconBase.c:47
Определения SlotsIcon.c:2
Определения EnWidgets.c:220
void RegisterOnMouseLeave(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:126
void RegisterOnDrag(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:98
void RegisterOnDrop(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:105
static WidgetEventHandler GetInstance()
Определения WidgetEventHandler.c:22
void RegisterOnMouseEnter(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:119
Определения EnWidgets.c:190
WidgetFlags
Определения EnWidgets.c:58
proto native Widget GetDragWidget()
int ARGBF(float fa, float fr, float fg, float fb)
Converts <0.0, 1.0> ARGB into color.
Определения proto.c:332