Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
vicinityslotscontainer.c
Go to the documentation of this file.
2 {
3  protected ref AttachmentsGroupContainer m_Container;
4  protected int m_ItemsCount;
5  protected int m_SlotsCount;
6  protected ref array<EntityAI> m_ShowedItems;
7 
9  {
10  m_Container = new AttachmentsGroupContainer(this);
11  ref SlotsContainer con = new SlotsContainer( m_Container, null );
12  m_Container.Insert( con );
13  m_Body.Insert( m_Container );
14  for( int j = 0; j < ITEMS_IN_ROW; j++ )
15  {
16  SlotsIcon icon = con.GetSlotIcon( j );
17  WidgetEventHandler.GetInstance().RegisterOnDropReceived( icon.GetPanelWidget(), m_Parent, "OnDropReceivedFromIcon" );
18  WidgetEventHandler.GetInstance().RegisterOnDropReceived( icon.GetGhostSlot(), m_Parent, "OnDropReceivedFromHeader" );
19  WidgetEventHandler.GetInstance().RegisterOnDropReceived( icon.GetMainWidget(), m_Parent, "OnDropReceivedFromHeader" );
20 
21  WidgetEventHandler.GetInstance().RegisterOnDraggingOver( icon.GetPanelWidget(), m_Parent, "DraggingOverIcon" );
22  WidgetEventHandler.GetInstance().RegisterOnDraggingOver( icon.GetGhostSlot(), m_Parent, "DraggingOverHeader" );
23  WidgetEventHandler.GetInstance().RegisterOnDraggingOver( icon.GetMainWidget(), m_Parent, "DraggingOverHeader" );
24 
25  WidgetEventHandler.GetInstance().RegisterOnDoubleClick( icon.GetPanelWidget(), this, "DoubleClick" );
26  WidgetEventHandler.GetInstance().RegisterOnMouseButtonUp( icon.GetPanelWidget(), this, "MouseClick" );
27  WidgetEventHandler.GetInstance().RegisterOnMouseButtonDown( icon.GetPanelWidget(), this, "MouseButtonDown" );
28  }
29 
30  con.SetColumnCount(0);
31  con.SetForceShow(true);
32 
33  WidgetEventHandler.GetInstance().RegisterOnDropReceived( m_Container.GetMainWidget(), m_Parent, "OnDropReceivedFromHeader" );
34  WidgetEventHandler.GetInstance().RegisterOnDraggingOver( m_Container.GetMainWidget(), m_Parent, "DraggingOverHeader" );
35 
36  m_ShowedItems = new array<EntityAI>;
37  }
38 
39  bool IsItemWithContainerActive()
40  {
41  EntityAI ent = GetFocusedItem();
42  return ent && ( ent.GetInventory().GetCargo() || (ent.GetSlotsCountCorrect() > 0 && ent.CanDisplayAnyAttachmentSlot()) );
43  //TODO: also check for cargo visibility maybe?
44  }
45 
46  override bool IsItemWithQuantityActive()
47  {
48  EntityAI ent = GetFocusedItem();
49  return ent && QuantityConversions.HasItemQuantity( ent ) && ent.CanBeSplit();
50  }
51 
52  override bool IsItemActive()
53  {
54  EntityAI ent = GetFocusedItem();
55  return ent && !IsItemWithQuantityActive() && !IsItemWithContainerActive();
56  }
57 
58  bool IsEmptyItemActive()
59  {
60  EntityAI ent = GetFocusedItem();
61  return ent == null;
62  }
63 
64  //TODO MW Adjust this
65  override bool IsDisplayable()
66  {
67  return true;
68  }
69 
70  bool IsTakeable()
71  {
72  EntityAI ent = GetFocusedItem();
73  return ent.IsTakeable();
74  }
75 
76  override bool CanCombineAmmo()
77  {
79  ItemBase ent = ItemBase.Cast( GetFocusedItem() );
80  ItemBase item_in_hands = ItemBase.Cast( GetGame().GetPlayer().GetHumanInventory().GetEntityInHands() );
82  Class.CastTo(amc, m_player.GetActionManager());
83 
84  return ( amc.CanPerformActionFromInventory( item_in_hands, ent ) || amc.CanSetActionFromInventory( item_in_hands, ent ) );
85  }
86 
87  override bool EquipItem()
88  {
89  if (CanEquip())
90  {
91  EntityAI ent = GetFocusedItem();
92  bool res = false;
93 
94  if( ent && !ent.IsInherited( Magazine ))
95  {
96  res = GetGame().GetPlayer().PredictiveTakeOrSwapAttachment( ent );
97  if(!res)
98  {
99  res = GetGame().GetPlayer().GetInventory().TakeEntityToInventory(InventoryMode.JUNCTURE,FindInventoryLocationType.ATTACHMENT,ent);
100  }
101  }
102  return res;
103  }
104  return false;
105  }
106 
107  override bool InspectItem()
108  {
109  EntityAI ent = GetFocusedItem();
110 
111  if( ent )
112  {
113  InspectItem( ent );
114  return true;
115  }
116  return false;
117  }
118 
119  override bool TransferItem()
120  {
121  if (CanTakeToInventory())
122  {
123  ItemBase ent = ItemBase.Cast(GetFocusedItem());
124  if (ent)
125  {
126  if (ent.IsTakeable())
127  {
129  GetGame().GetPlayer().GetInventory().FindFreeLocationFor( ent, FindInventoryLocationType.CARGO, il );
130  if (il.IsValid() && GetGame().GetPlayer().GetInventory().LocationCanAddEntity( il ))
131  {
132  SplitItemUtils.TakeOrSplitToInventoryLocation( PlayerBase.Cast( GetGame().GetPlayer() ), il );
133  return true;
134  }
135  }
136  }
137  }
138  return false;
139  }
140 
141  override bool Combine()
142  {
143  ItemBase ent = ItemBase.Cast( GetFocusedItem() );
144 
145  ItemBase item_in_hands = ItemBase.Cast( GetGame().GetPlayer().GetHumanInventory().GetEntityInHands() );
146 
147  Icon hands_icon = ItemManager.GetInstance().GetHandsPreview().GetIcon();
148 
149  if( item_in_hands && ent && hands_icon )
150  {
151  return hands_icon.CombineItems( item_in_hands, ent );
152  }
153  return false;
154  }
155 
156  override bool Select()
157  {
158  SlotsIcon selected_slot = ItemManager.GetInstance().GetSelectedIcon();
159  EntityAI ent = GetFocusedItem();
160  ItemBase selected_item = ItemBase.Cast(ItemManager.GetInstance().GetSelectedItem());
161 
162  if( !(selected_slot && selected_slot.IsOutOfReach() ) )
163  {
164  if( selected_item )
165  {
166  if( ent != selected_item)
167  {
168  if( selected_item && GetGame().GetPlayer().CanDropEntity( selected_item ) )
169  {
170  bool draggable = false;
171 
172  PlayerBase player = PlayerBase.Cast(GetGame().GetPlayer());
173  draggable = !player.GetInventory().HasInventoryReservation( selected_item, null ) && !player.IsItemsToDelete();
174  draggable = draggable && selected_item.GetInventory().CanRemoveEntity();
175 
176  if( draggable && m_ShowedItems.Find( selected_item ) == -1 )
177  {
178  if( selected_item.GetTargetQuantityMax() < selected_item.GetQuantity() )
179  selected_item.SplitIntoStackMaxClient( null, -1 );
180  else
181  player.PhysicalPredictiveDropItem( selected_item );
182  ItemManager.GetInstance().SetSelectedItemEx(null, null, null);
183  return true;
184  }
185  }
186  }
187  }
188  else
189  {
190  if( ent && ent.GetInventory().CanRemoveEntity())
191  {
192  EntityAI item_in_hands = GetGame().GetPlayer().GetHumanInventory().GetEntityInHands();
193  if( item_in_hands )
194  {
195  if( GameInventory.CanSwapEntitiesEx( item_in_hands, ent ) )
196  {
197  GetGame().GetPlayer().PredictiveSwapEntities( item_in_hands, ent );
198  return true;
199  }
200  }
201  else
202  {
203  if( GetGame().GetPlayer().GetHumanInventory().CanAddEntityInHands( ent ) )
204  {
205  GetGame().GetPlayer().PredictiveTakeEntityToHands( ent );
206  return true;
207  }
208  }
209  }
210  }
211  }
212 
213  return false;
214  }
215 
216  void ~VicinitySlotsContainer()
217  {
218  for ( int i = 0; i < m_Container.Count(); i++ )
219  {
220  Container c = ClosableContainer.Cast( m_Container.Get( i / ITEMS_IN_ROW ) );
221  if( c && c.GetMainWidget() )
222  {
223  delete m_Container.Get( i / ITEMS_IN_ROW ).GetMainWidget();
224  }
225  }
226  }
227 
228  override void SetLayoutName()
229  {
230  m_LayoutName = WidgetLayoutName.Container;
231  }
232 
233  override void OnShow()
234  {
235  super.OnShow();
236  }
237 
238  int GetRowSlotCount()
239  {
240  return GetFocusedContainer().GetColumnCount();
241  }
242 
244  bool ExcludeFromContainer (EntityAI item)
245  {
246  int mask = item.GetHideIconMask();
247  return mask & EInventoryIconVisibility.HIDE_VICINITY;
248  }
249 
250  void ShowItemsInContainers( array<EntityAI> items )
251  {
252  EntityAI item;
253  SlotsIcon icon;
254  int x;
255  int visible_items_count = 0;
256  int visible_rows = 0;
257  ref array<EntityAI> visible_items = new array<EntityAI>;
258 
259  for ( x = 0; x < items.Count(); ++x )
260  {
261  item = items.Get( x );
262 
263  if ( item == null || ExcludeFromContainer(item) )
264  continue;
265 
266  visible_items.Insert( item );
267  visible_items_count++;
268  }
269 
270  RecomputeNumberOfContainers( visible_items );
271 
272  for ( x = 0; x < visible_items_count; ++x )
273  {
274  item = visible_items.Get( x );
275  int row = (int)Math.Floor( x / ITEMS_IN_ROW );
276  int column = x % ITEMS_IN_ROW;
277  icon = SlotsContainer.Cast( m_Container.Get( row ) ).GetSlotIcon( column );
278 
279  icon.GetMainWidget().Show( true );
280  icon.GetPanelWidget().SetUserID( item.GetID() );
281 
282  if ( m_ShowedItems.Find( item ) != x )
283  icon.Init( item );
284  icon.UpdateInterval();
285 
286  if ( !ItemManager.GetInstance().IsDragging() )
287  {
288  ItemManager.GetInstance().SetTemperature( item, icon.GetRender() );
289  }
290 
291  bool draggable = ItemManager.GetInstance().EvaluateContainerDragabilityDefault(item);
292  if ( !draggable && GetDragWidget() == icon.GetPanelWidget() )
294  ItemManager.GetInstance().SetWidgetDraggable( icon.GetPanelWidget(), draggable );
295 
296  ref map<int, ref Container> showed_items = ( VicinityContainer.Cast( m_Parent ) ).m_ShowedItemsIDs;
297 
298  Container conta = Container.Cast( showed_items.Get( item.GetID() ) );
299  if ( conta )
300  {
301  conta.SetSlotIcon(icon);
302  }
303 
304  if ( conta && conta.IsDisplayable() )
305  {
306  conta.UpdateRadialIcon();
307  }
308  else
309  {
310  icon.GetRadialIconPanel().Show( false );
311  if ( conta )
312  conta.OnHide();
313  }
314  }
315 
316  SlotsContainer slots_last = SlotsContainer.Cast( m_Container.Get( visible_items.Count() / ITEMS_IN_ROW ) );
317 
318  for ( int c = visible_items_count % ITEMS_IN_ROW; c < ITEMS_IN_ROW; ++c )
319  {
320  icon = slots_last.GetSlotIcon( c );
321  icon.GetMainWidget().Show( false );
322  icon.Clear();
323  }
324 
325  //#ifndef PLATFORM_CONSOLE
326  if ( visible_items_count % ITEMS_IN_ROW == 0 )
327  {
328  slots_last = SlotsContainer.Cast( m_Container.Get( m_Container.Count() - 1 ) );
329  slots_last.GetSlotIcon( 0 ).GetMainWidget().Show( true );
330  slots_last.GetSlotIcon( 0 ).GetGhostSlot().Show( false );
331  slots_last.GetMainWidget().Update();
332  }
333  //#endif
334 
335  m_ShowedItems = visible_items;
336  }
337 
338  void DoubleClick(Widget w, int x, int y, int button)
339  {
340  if( button == MouseState.LEFT && !g_Game.IsLeftCtrlDown())
341  {
342  if( w == null )
343  {
344  return;
345  }
346  ItemPreviewWidget iw = ItemPreviewWidget.Cast( w.FindAnyWidget( "Render" ) );
347  if( !iw )
348  {
349  string name = w.GetName();
350  name.Replace( "PanelWidget", "Render" );
351  iw = ItemPreviewWidget.Cast( w.FindAnyWidget( name ) );
352  }
353 
354  if( !iw )
355  {
356  iw = ItemPreviewWidget.Cast( w );
357  }
358 
359  ItemBase item = ItemBase.Cast( iw.GetItem() );
360  if( !item )
361  {
362  return;
363  }
364 
365  if( !item.IsTakeable() )
366  {
367  return;
368  }
369 
370  if( GetGame().GetPlayer().GetInventory().HasInventoryReservation( item, null ) )
371  {
372  return;
373  }
374 
375  if( !item.GetInventory().CanRemoveEntity() )
376  return;
377 
378  PlayerBase player = PlayerBase.Cast( GetGame().GetPlayer() );
379 
380  if ( player.GetInventory().HasEntityInInventory( item ) && GetGame().GetPlayer().GetHumanInventory().CanAddEntityInHands( item ) )
381  {
382  player.PredictiveTakeEntityToHands( item );
383  }
384  else
385  {
387  player.GetInventory().FindFreeLocationFor( item, FindInventoryLocationType.ANY, dst );
388  if( dst.IsValid() && player.GetInventory().LocationCanAddEntity( dst ) )
389  {
390  SplitItemUtils.TakeOrSplitToInventoryLocation( player, dst );
391  }
392  }
393 
394  HideOwnedTooltip();
395  InventoryMenu menu = InventoryMenu.Cast( GetGame().GetUIManager().FindMenu( MENU_INVENTORY ) );
396  if( menu )
397  {
398  menu.RefreshQuickbar();
399  }
400  }
401  }
402 
403  string GetItemQuantityText( EntityAI item )
404  {
405  string quantity_text = "";
406  if ( item.IsInherited( InventoryItem ) )
407  {
408  ItemBase item_base = ItemBase.Cast( item );
409  float quantity = item_base.GetQuantity();
410  int ammo;
411  if ( item.IsInherited( Magazine ) )
412  {
413  Magazine magazine_item = Magazine.Cast( item );
414  ammo = magazine_item.GetAmmoCount();
415  quantity_text = ammo.ToString();
416  return quantity_text;
417  }
418  else if ( item.IsInherited( ItemBook ) )
419  {
420  return "";
421  }
422  int max = item.GetQuantityMax();
423  //string unit = item.ConfigGetString( "stackedUnit" );
424 
425  if ( max > 0 )
426  {
427  if ( max == 1 )
428  {
429  float tmp = Math.Round( ( quantity / max ) * 100 );
430  quantity_text = tmp.ToString() + "%";
431  }
432  else
433  {
434  quantity_text = quantity.ToString();
435  }
436  }
437  }
438  return quantity_text;
439  }
440 
441  int HasItemQuantity( EntityAI item )
442  {
443  if ( item.IsInherited( InventoryItem ) )
444  {
445  ItemBase item_base = ItemBase.Cast( item );
446  if ( item.IsInherited( Magazine ) )
447  {
448  return QUANTITY_COUNT;
449  }
450  else if ( item.IsInherited( ItemBook ) )
451  {
452  return QUANTITY_HIDDEN;
453  }
454  int max = item.GetQuantityMax();
455  bool bar = item.ConfigGetBool( "quantityBar" );
456  if ( max > 0 )
457  {
458  if ( max == 1 || bar )
459  {
460  return QUANTITY_PROGRESS;
461  }
462  else
463  {
464  return QUANTITY_COUNT;
465  }
466  }
467  }
468  return QUANTITY_HIDDEN;
469  }
470 
471  float GetItemQuantity( InventoryItem item )
472  {
473  float quantity = 0;
474  if ( item.IsInherited( InventoryItem ) )
475  {
476  ItemBase item_base = ItemBase.Cast( item );
477  if ( item.IsInherited( Magazine ) )
478  {
479  Magazine magazine_item = Magazine.Cast( item );
480  quantity = magazine_item.GetAmmoCount();
481  }
482  else
483  {
484  quantity = item_base.GetQuantity();
485  }
486  }
487  return quantity;
488  }
489 
490  // Mouse button DOWN
491  void MouseButtonDown( Widget w, int x, int y, int button)
492  {
493  string name = w.GetName();
494  name.Replace( "PanelWidget", "Render" );
495  ItemPreviewWidget item_preview = ItemPreviewWidget.Cast( w.FindAnyWidget( name ) );
496  ItemBase item = ItemBase.Cast( item_preview.GetItem() );
497  bool draggable = ItemManager.GetInstance().EvaluateContainerDragabilityDefault(item);
498  ItemManager.GetInstance().SetWidgetDraggable( w, draggable );
499  }
500 
501  // Mouse button UP <---- exist button down MouseButtonDown ^
502  void MouseClick( Widget w, int x, int y, int button)
503  {
504  string name = w.GetName();
505  name.Replace( "PanelWidget", "Render" );
506  ItemPreviewWidget item_preview = ItemPreviewWidget.Cast( w.FindAnyWidget( name ) );
507  EntityAI item = item_preview.GetItem();
508  InventoryItem itemAtPos = InventoryItem.Cast( item );
509  Container conta;
510 
511  #ifdef DIAG_DEVELOPER
512  if ( ItemBase.Cast(item) )
513  {
514  if ( GetDayZGame().IsLeftCtrlDown() && button == MouseState.RIGHT )
515  ShowActionMenu( ItemBase.Cast(item) );
516  }
517  #endif
518 
519  if( m_Parent )
520  {
521  ref map<int, ref Container> showed_items = ( VicinityContainer.Cast( m_Parent ) ).m_ShowedItemsIDs;
522 
523  if( item && showed_items )
524  {
525  conta = showed_items.Get( item.GetID() );
526 
527  ( VicinityContainer.Cast( m_Parent ) ).ToggleContainer( w, item );
528  if ( button == MouseState.RIGHT )
529  {
530  if ( itemAtPos )
531  {
532  itemAtPos.OnRightClick();
533  }
534  }
535  else if ( button == MouseState.MIDDLE )
536  {
537  InspectItem( itemAtPos );
538  return;
539  }
540  }
541  }
542  }
543 
544  override void OnDropReceivedFromHeader( Widget w, int x, int y, Widget receiver )
545  {
546  ItemPreviewWidget ipw = ItemPreviewWidget.Cast( w.FindAnyWidget("Render") );
547  if( !ipw )
548  {
549  string name = w.GetName();
550  name.Replace( "PanelWidget", "Render" );
551  ipw = ItemPreviewWidget.Cast( w.FindAnyWidget( name ) );
552  }
553  if( !ipw )
554  {
555  ipw = ItemPreviewWidget.Cast( w );
556  }
557 
558  if( !ipw.IsInherited( ItemPreviewWidget ) )
559  {
560  return;
561  }
562 
563  PlayerBase player = PlayerBase.Cast( GetGame().GetPlayer() );
564  ItemBase item = ItemBase.Cast(ipw.GetItem());
565 
566  if( item )
567  {
568  if( !item.GetInventory().CanRemoveEntity() )
569  return;
570 
571  if( player.CanDropEntity( item ) )
572  {
573  if( item.GetTargetQuantityMax() < item.GetQuantity() )
574  item.SplitIntoStackMaxClient( null, -1 );
575  else
576  player.PhysicalPredictiveDropItem( item );
577  }
578  }
579  }
580 
581  void RecomputeNumberOfContainers( array<EntityAI> items )
582  {
583  int number_of_containers = m_Container.m_Body.Count();
584  int number_of_containers_needed = ( items.Count() / ITEMS_IN_ROW ) + 1;
585  int difference = number_of_containers_needed - number_of_containers;
586  int g;
587 
588  for (g = number_of_containers; g < number_of_containers_needed; g++)
589  {
590  SlotsContainer con = new SlotsContainer( m_Container, null );
591  m_Container.Insert(con, -1, false);
592  for (int j = 0; j < ITEMS_IN_ROW; j++)
593  {
594  SlotsIcon icon = con.GetSlotIcon(j);
595  WidgetEventHandler.GetInstance().RegisterOnDropReceived(icon.GetPanelWidget(), m_Parent, "OnDropReceivedFromIcon");
596  WidgetEventHandler.GetInstance().RegisterOnDropReceived(icon.GetGhostSlot(), m_Parent, "OnDropReceivedFromHeader");
597  WidgetEventHandler.GetInstance().RegisterOnDropReceived(icon.GetMainWidget(), m_Parent, "OnDropReceivedFromHeader");
598 
599  WidgetEventHandler.GetInstance().RegisterOnDraggingOver(icon.GetPanelWidget(), m_Parent, "DraggingOverIcon");
600  WidgetEventHandler.GetInstance().RegisterOnDraggingOver(icon.GetGhostSlot(), m_Parent, "DraggingOverHeader");
601  WidgetEventHandler.GetInstance().RegisterOnDraggingOver(icon.GetMainWidget(), m_Parent, "DraggingOverHeader");
602 
603  WidgetEventHandler.GetInstance().RegisterOnDoubleClick(icon.GetPanelWidget(), this, "DoubleClick");
604  WidgetEventHandler.GetInstance().RegisterOnMouseButtonUp(icon.GetPanelWidget(), this, "MouseClick");
605  WidgetEventHandler.GetInstance().RegisterOnMouseButtonDown(icon.GetPanelWidget(), this, "MouseButtonDown");
606  }
607 
608  con.SetColumnCount(items.Count() % ITEMS_IN_ROW);
609  }
610 
611  for (g = number_of_containers - 1 ; g >= number_of_containers_needed ; g--)
612  {
613  Widget w = m_Container.m_Body.Get(g).GetMainWidget();
614  delete w;
615  m_Container.m_Body.Remove(g);
616  }
617 
618  if ( (items.Count() % ITEMS_IN_ROW) == 0 )
619  {
620  SlotsContainer.Cast( m_Container.Get( number_of_containers_needed - 1 ) ).SetColumnCount( ITEMS_IN_ROW );
621  }
622  else
623  {
624  SlotsContainer.Cast( m_Container.Get( number_of_containers_needed - 1 ) ).SetColumnCount( items.Count() % ITEMS_IN_ROW );
625  }
626 
627  for ( int i = 0; i < number_of_containers_needed - 1; i++ )
628  {
629  SlotsContainer.Cast( m_Container.Get( i ) ).SetColumnCount( ITEMS_IN_ROW );
630  }
631 
632  RecomputeOpenedContainers();
633  m_Container.RecomputeOpenedContainers();
634  }
635 }
ItemBase
Definition: inventoryitem.c:730
SlotsContainer
Definition: slotscontainer.c:1
GetGame
proto native CGame GetGame()
LayoutHolder
Definition: container.c:1
QUANTITY_PROGRESS
const int QUANTITY_PROGRESS
Definition: constants.c:484
m_player
DayZPlayer m_player
Definition: randomgeneratorsyncmanager.c:15
QUANTITY_COUNT
const int QUANTITY_COUNT
Definition: constants.c:483
QuantityConversions
Definition: quantityconversions.c:1
GetDayZGame
DayZGame GetDayZGame()
Definition: dayzgame.c:3729
y
Icon y
QUANTITY_HIDDEN
const int QUANTITY_HIDDEN
Definition: constants.c:482
InventoryLocation
InventoryLocation.
Definition: inventorylocation.c:27
ITEMS_IN_ROW
const int ITEMS_IN_ROW
Definition: attachments.c:1
WidgetLayoutName
Definition: widgetlayoutname.c:1
m_Parent
protected Widget m_Parent
Definition: sizetochild.c:92
SplitItemUtils
Definition: splititemutils.c:1
InventoryItem
Definition: itembase.c:13
MENU_INVENTORY
const int MENU_INVENTORY
Definition: constants.c:170
CancelWidgetDragging
proto native Widget CancelWidgetDragging()
PlayerBase
Definition: playerbaseclient.c:1
map
map
Definition: controlsxboxnew.c:3
VicinityContainer
Definition: vicinitycontainer.c:1
InventoryMode
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
Definition: inventory.c:21
Container
Definition: cargocontainer.c:2
GetDragWidget
proto native Widget GetDragWidget()
g_Game
DayZGame g_Game
Definition: dayzgame.c:3727
SlotsIcon
Definition: slotsicon.c:1
ItemManager
Definition: itemmanager.c:1
FindInventoryLocationType
FindInventoryLocationType
flags for searching locations in inventory
Definition: inventorylocation.c:15
AttachmentsGroupContainer
Definition: attachmentsgroupcontainer.c:1
ActionManagerClient
Definition: actionmanagerclient.c:4
MouseState
MouseState
Definition: ensystem.c:310
array< EntityAI >
name
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
x
Icon x
int
Param3 int
GetPlayer
protected void GetPlayer()
Definition: crosshairselector.c:127
Icon
Definition: icon.c:1
ItemPreviewWidget
Definition: gameplay.c:275
InventoryMenu
void InventoryMenu()
Definition: inventorymenu.c:20
VicinitySlotsContainer
Definition: vicinityslotscontainer.c:1
Widget
Definition: enwidgets.c:189
Math
Definition: enmath.c:6
Class
Super root of all classes in Enforce script.
Definition: enscript.c:10
EntityAI
Definition: building.c:5
ClosableContainer
Definition: containerwithcargo.c:1
GameInventory
script counterpart to engine's class Inventory
Definition: inventory.c:78
WidgetEventHandler
Definition: widgeteventhandler.c:1