DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
VicinitySlotsContainer.c
См. документацию.
2{
4 protected int m_ItemsCount;
5 protected int m_SlotsCount;
7
9 {
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 );
18 WidgetEventHandler.GetInstance().RegisterOnDropReceived( icon.GetGhostSlot(), m_Parent, "OnDropReceivedFromHeader" );
19 WidgetEventHandler.GetInstance().RegisterOnDropReceived( icon.GetMainWidget(), m_Parent, "OnDropReceivedFromHeader" );
20
23 WidgetEventHandler.GetInstance().RegisterOnDraggingOver( icon.GetMainWidget(), m_Parent, "DraggingOverHeader" );
24
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
37 }
38
40 {
42 return ent && ( ent.GetInventory().GetCargo() || (ent.GetSlotsCountCorrect() > 0 && ent.CanDisplayAnyAttachmentSlot()) );
43 //TODO: also check for cargo visibility maybe?
44 }
45
47 {
49 return ent && QuantityConversions.HasItemQuantity( ent ) && ent.CanBeSplit();
50 }
51
52 override bool IsItemActive()
53 {
56 }
57
59 {
61 return ent == null;
62 }
63
64 //TODO MW Adjust this
65 override bool IsDisplayable()
66 {
67 return true;
68 }
69
71 {
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 InspectItem()
88 {
90
91 if( ent )
92 {
93 InspectItem( ent );
94 return true;
95 }
96 return false;
97 }
98
99 override bool TransferItem()
100 {
101 if (CanTakeToInventory())
102 {
103 ItemBase ent = ItemBase.Cast(GetFocusedItem());
104 if (ent)
105 {
106 if (ent.IsTakeable())
107 {
109 GetGame().GetPlayer().GetInventory().FindFreeLocationFor( ent, FindInventoryLocationType.CARGO, il );
110 if (il.IsValid() && GetGame().GetPlayer().GetInventory().LocationCanAddEntity( il ))
111 {
113 #ifdef PLATFORM_CONSOLE
114 if (GetGame().GetInput().GetCurrentInputDevice() == EInputDeviceType.CONTROLLER)
115 {
116 GetGame().GetCallQueue(CALL_CATEGORY_GUI).CallLater(PrepareOwnedTooltipAfterItemTransfer, 100); //update item tooltip after vicinity item has been transfered and the current selected row gets populated with a new item
117 }
118 #endif
119 return true;
120 }
121 }
122 }
123 }
124 return false;
125 }
126
127 override bool Combine()
128 {
129 ItemBase ent = ItemBase.Cast( GetFocusedItem() );
130
131 ItemBase item_in_hands = ItemBase.Cast( GetGame().GetPlayer().GetHumanInventory().GetEntityInHands() );
132
134
135 if( item_in_hands && ent && hands_icon )
136 {
137 return hands_icon.CombineItems( item_in_hands, ent );
138 }
139 return false;
140 }
141
142 override bool Select()
143 {
145 EntityAI ent = GetFocusedItem();
146 ItemBase selected_item = ItemBase.Cast(ItemManager.GetInstance().GetSelectedItem());
147
148 if( !(selected_slot && selected_slot.IsOutOfReach() ) )
149 {
150 if( selected_item )
151 {
152 if( ent != selected_item)
153 {
154 if( selected_item && GetGame().GetPlayer().CanDropEntity( selected_item ) )
155 {
156 bool draggable = false;
157
158 PlayerBase player = PlayerBase.Cast(GetGame().GetPlayer());
159 draggable = !player.GetInventory().HasInventoryReservation( selected_item, null ) && !player.IsItemsToDelete();
160 draggable = draggable && selected_item.GetInventory().CanRemoveEntity();
161
162 if( draggable && m_ShowedItems.Find( selected_item ) == -1 )
163 {
164 if( selected_item.GetTargetQuantityMax() < selected_item.GetQuantity() )
165 selected_item.SplitIntoStackMaxClient( null, -1 );
166 else
167 player.PhysicalPredictiveDropItem( selected_item );
168 ItemManager.GetInstance().SetSelectedItemEx(null, null, null);
169 return true;
170 }
171 }
172 }
173 }
174 else
175 {
176 if( ent && ent.GetInventory().CanRemoveEntity())
177 {
178 EntityAI item_in_hands = GetGame().GetPlayer().GetHumanInventory().GetEntityInHands();
179 if( item_in_hands )
180 {
181 if( GameInventory.CanSwapEntitiesEx( item_in_hands, ent ) )
182 {
183 GetGame().GetPlayer().PredictiveSwapEntities( item_in_hands, ent );
184 return true;
185 }
186 }
187 else
188 {
189 if( GetGame().GetPlayer().GetHumanInventory().CanAddEntityInHands( ent ) )
190 {
191 GetGame().GetPlayer().PredictiveTakeEntityToHands( ent );
192 return true;
193 }
194 }
195 }
196 }
197 }
198
199 return false;
200 }
201
203 {
204 for ( int i = 0; i < m_Container.Count(); i++ )
205 {
207 if( c && c.GetMainWidget() )
208 {
209 delete m_Container.Get( i / ITEMS_IN_ROW ).GetMainWidget();
210 }
211 }
212 }
213
214 override void SetLayoutName()
215 {
216 m_LayoutName = WidgetLayoutName.Container;
217 }
218
219 override void OnShow()
220 {
221 super.OnShow();
222 }
223
225 {
226 return GetFocusedContainer().GetColumnCount();
227 }
228
231 {
232 int mask = item.GetHideIconMask();
233 return mask & EInventoryIconVisibility.HIDE_VICINITY;
234 }
235
237 {
238 EntityAI item;
240 SlotsIcon icon;
241 int x;
242 int visible_items_count = 0;
243 int visible_rows = 0;
244 ref array<EntityAI> visible_items = new array<EntityAI>;
245
246 for ( x = 0; x < items.Count(); ++x )
247 {
248 item = items.Get( x );
249
250 if ( item == null || ExcludeFromContainer(item) )
251 continue;
252
253 visible_items.Insert( item );
254 visible_items_count++;
255 }
256
257 RecomputeNumberOfContainers( visible_items );
258
259 for ( x = 0; x < visible_items_count; ++x )
260 {
261 item = visible_items.Get( x );
262 int row = (int)Math.Floor( x / ITEMS_IN_ROW );
263 int column = x % ITEMS_IN_ROW;
264 icon = SlotsContainer.Cast( m_Container.Get( row ) ).GetSlotIcon( column );
265
266 icon.GetMainWidget().Show( true );
267 icon.GetPanelWidget().SetUserID( item.GetID() );
268
269 #ifdef PLATFORM_CONSOLE
270 if (selectedItem == item)
271 {
272 icon.GetMicromanagedPanel().Show(true);
273 }
274 else
275 {
276 icon.GetMicromanagedPanel().Show(false);
277 }
278 #endif
279
280 if ( m_ShowedItems.Find( item ) != x )
281 icon.Init( item );
282 icon.UpdateInterval();
283
285 if ( !draggable && GetDragWidget() == icon.GetPanelWidget() )
288
289 ref map<int, ref Container> showed_items = ( VicinityContainer.Cast( m_Parent ) ).m_ShowedItemsIDs;
290
291 Container conta = Container.Cast( showed_items.Get( item.GetID() ) );
292 if ( conta )
293 {
294 conta.SetSlotIcon(icon);
295 }
296
297 if ( conta && conta.IsDisplayable() )
298 {
299 conta.UpdateRadialIcon();
300 }
301 else
302 {
303 icon.GetRadialIconPanel().Show( false );
304 if ( conta )
305 conta.OnHide();
306 }
307 }
308
309 SlotsContainer slots_last = SlotsContainer.Cast( m_Container.Get( visible_items.Count() / ITEMS_IN_ROW ) );
310
311 for ( int c = visible_items_count % ITEMS_IN_ROW; c < ITEMS_IN_ROW; ++c )
312 {
313 icon = slots_last.GetSlotIcon( c );
314 icon.GetMainWidget().Show( false );
315 icon.Clear();
316 }
317
318 //#ifndef PLATFORM_CONSOLE
319 if ( visible_items_count % ITEMS_IN_ROW == 0 )
320 {
321 slots_last = SlotsContainer.Cast( m_Container.Get( m_Container.Count() - 1 ) );
322 slots_last.GetSlotIcon( 0 ).GetMainWidget().Show( true );
323 slots_last.GetSlotIcon( 0 ).GetGhostSlot().Show( false );
324 slots_last.GetMainWidget().Update();
325 }
326 //#endif
327
328 m_ShowedItems = visible_items;
329 }
330
331 void DoubleClick(Widget w, int x, int y, int button)
332 {
333 if( button == MouseState.LEFT && !g_Game.IsLeftCtrlDown())
334 {
335 if( w == null )
336 {
337 return;
338 }
339 ItemPreviewWidget iw = ItemPreviewWidget.Cast( w.FindAnyWidget( "Render" ) );
340 if( !iw )
341 {
342 string name = w.GetName();
343 name.Replace( "PanelWidget", "Render" );
344 iw = ItemPreviewWidget.Cast( w.FindAnyWidget( name ) );
345 }
346
347 if( !iw )
348 {
349 iw = ItemPreviewWidget.Cast( w );
350 }
351
352 ItemBase item = ItemBase.Cast( iw.GetItem() );
353 if( !item )
354 {
355 return;
356 }
357
358 if( !item.IsTakeable() )
359 {
360 return;
361 }
362
363 if( GetGame().GetPlayer().GetInventory().HasInventoryReservation( item, null ) )
364 {
365 return;
366 }
367
368 if( !item.GetInventory().CanRemoveEntity() )
369 return;
370
371 PlayerBase player = PlayerBase.Cast( GetGame().GetPlayer() );
372
373 if ( player.GetInventory().HasEntityInInventory( item ) && GetGame().GetPlayer().GetHumanInventory().CanAddEntityInHands( item ) )
374 {
375 player.PredictiveTakeEntityToHands( item );
376 }
377 else
378 {
380 player.GetInventory().FindFreeLocationFor( item, FindInventoryLocationType.ANY, dst );
381 if( dst.IsValid() && player.GetInventory().LocationCanAddEntity( dst ) )
382 {
384 }
385 }
386
387 HideOwnedTooltip();
388 GetGame().GetCallQueue(CALL_CATEGORY_GUI).CallLater(PrepareOwnedTooltipAfterItemTransferClick, 300); //update item tooltip after vicinity item has been transfered and the current selected row gets populated with a new item
389
390 InventoryMenu menu = InventoryMenu.Cast( GetGame().GetUIManager().FindMenu( MENU_INVENTORY ) );
391 if( menu )
392 {
393 menu.RefreshQuickbar();
394 }
395 }
396 }
397
399 {
400 string quantity_text = "";
401 if ( item.IsInherited( InventoryItem ) )
402 {
403 ItemBase item_base = ItemBase.Cast( item );
404 float quantity = item_base.GetQuantity();
405 int ammo;
406 if ( item.IsInherited( Magazine ) )
407 {
408 Magazine magazine_item = Magazine.Cast( item );
409 ammo = magazine_item.GetAmmoCount();
410 quantity_text = ammo.ToString();
411 return quantity_text;
412 }
413 else if ( item.IsInherited( ItemBook ) )
414 {
415 return "";
416 }
417 int max = item.GetQuantityMax();
418 //string unit = item.ConfigGetString( "stackedUnit" );
419
420 if ( max > 0 )
421 {
422 if ( max == 1 )
423 {
424 float tmp = Math.Round( ( quantity / max ) * 100 );
425 quantity_text = tmp.ToString() + "%";
426 }
427 else
428 {
429 quantity_text = quantity.ToString();
430 }
431 }
432 }
433 return quantity_text;
434 }
435
437 {
438 if ( item.IsInherited( InventoryItem ) )
439 {
440 ItemBase item_base = ItemBase.Cast( item );
441 if ( item.IsInherited( Magazine ) )
442 {
443 return QUANTITY_COUNT;
444 }
445 else if ( item.IsInherited( ItemBook ) )
446 {
447 return QUANTITY_HIDDEN;
448 }
449 int max = item.GetQuantityMax();
450 bool bar = item.ConfigGetBool( "quantityBar" );
451 if ( max > 0 )
452 {
453 if ( max == 1 || bar )
454 {
455 return QUANTITY_PROGRESS;
456 }
457 else
458 {
459 return QUANTITY_COUNT;
460 }
461 }
462 }
463 return QUANTITY_HIDDEN;
464 }
465
467 {
468 float quantity = 0;
469 if ( item.IsInherited( InventoryItem ) )
470 {
471 ItemBase item_base = ItemBase.Cast( item );
472 if ( item.IsInherited( Magazine ) )
473 {
474 Magazine magazine_item = Magazine.Cast( item );
475 quantity = magazine_item.GetAmmoCount();
476 }
477 else
478 {
479 quantity = item_base.GetQuantity();
480 }
481 }
482 return quantity;
483 }
484
485 // Mouse button DOWN
486 void MouseButtonDown( Widget w, int x, int y, int button)
487 {
488 string name = w.GetName();
489 name.Replace( "PanelWidget", "Render" );
490 ItemPreviewWidget item_preview = ItemPreviewWidget.Cast( w.FindAnyWidget( name ) );
491 ItemBase item = ItemBase.Cast( item_preview.GetItem() );
494 }
495
496 // Mouse button UP <---- exist button down MouseButtonDown ^
497 void MouseClick( Widget w, int x, int y, int button)
498 {
499 string name = w.GetName();
500 name.Replace( "PanelWidget", "Render" );
501 ItemPreviewWidget item_preview = ItemPreviewWidget.Cast( w.FindAnyWidget( name ) );
502 EntityAI item = item_preview.GetItem();
503 InventoryItem itemAtPos = InventoryItem.Cast( item );
504
505 #ifdef DIAG_DEVELOPER
506 if (itemAtPos && GetDayZGame().IsLeftCtrlDown() && button == MouseState.RIGHT)
507 {
508 ShowActionMenu(itemAtPos);
509 }
510 else if (m_Parent)
511 #else
512 if (m_Parent)
513 #endif
514 {
515 ref map<int, ref Container> showed_items = ( VicinityContainer.Cast( m_Parent ) ).m_ShowedItemsIDs;
516
517 if ( item && showed_items )
518 {
519 if (button == MouseState.LEFT)
520 {
522 }
523 if (button == MouseState.RIGHT)
524 {
525 if (itemAtPos)
526 {
527 itemAtPos.OnRightClick();
528 }
529 }
530 else if (button == MouseState.MIDDLE)
531 {
532 InspectItem(itemAtPos);
533 return;
534 }
535 }
536 }
537 }
538
539 override void OnDropReceivedFromHeader( Widget w, int x, int y, Widget receiver )
540 {
541 ItemPreviewWidget ipw = ItemPreviewWidget.Cast( w.FindAnyWidget("Render") );
542 if( !ipw )
543 {
544 string name = w.GetName();
545 name.Replace( "PanelWidget", "Render" );
546 ipw = ItemPreviewWidget.Cast( w.FindAnyWidget( name ) );
547 }
548 if( !ipw )
549 {
550 ipw = ItemPreviewWidget.Cast( w );
551 }
552
553 if( !ipw.IsInherited( ItemPreviewWidget ) )
554 {
555 return;
556 }
557
558 PlayerBase player = PlayerBase.Cast( GetGame().GetPlayer() );
559 ItemBase item = ItemBase.Cast(ipw.GetItem());
560
561 if( item )
562 {
563 if( !item.GetInventory().CanRemoveEntity() )
564 return;
565
566 if( player.CanDropEntity( item ) )
567 {
568 if( item.GetTargetQuantityMax() < item.GetQuantity() )
569 item.SplitIntoStackMaxClient( null, -1 );
570 else
571 player.PhysicalPredictiveDropItem( item );
572 }
573 }
574 }
575
577 {
578 int number_of_containers = m_Container.m_Body.Count();
579 int number_of_containers_needed = ( items.Count() / ITEMS_IN_ROW ) + 1;
580 int difference = number_of_containers_needed - number_of_containers;
581 int g;
582
583 for (g = number_of_containers; g < number_of_containers_needed; g++)
584 {
585 SlotsContainer con = new SlotsContainer( m_Container, null );
586 m_Container.Insert(con, -1, false);
587 for (int j = 0; j < ITEMS_IN_ROW; j++)
588 {
589 SlotsIcon icon = con.GetSlotIcon(j);
591 WidgetEventHandler.GetInstance().RegisterOnDropReceived(icon.GetGhostSlot(), m_Parent, "OnDropReceivedFromHeader");
592 WidgetEventHandler.GetInstance().RegisterOnDropReceived(icon.GetMainWidget(), m_Parent, "OnDropReceivedFromHeader");
593
596 WidgetEventHandler.GetInstance().RegisterOnDraggingOver(icon.GetMainWidget(), m_Parent, "DraggingOverHeader");
597
601 }
602
603 con.SetColumnCount(items.Count() % ITEMS_IN_ROW);
604 }
605
606 for (g = number_of_containers - 1 ; g >= number_of_containers_needed ; g--)
607 {
608 Widget w = m_Container.m_Body.Get(g).GetMainWidget();
609 delete w;
610 m_Container.m_Body.Remove(g);
611 }
612
613 if ( (items.Count() % ITEMS_IN_ROW) == 0 )
614 {
615 SlotsContainer.Cast( m_Container.Get( number_of_containers_needed - 1 ) ).SetColumnCount( ITEMS_IN_ROW );
616 }
617 else
618 {
619 SlotsContainer.Cast( m_Container.Get( number_of_containers_needed - 1 ) ).SetColumnCount( items.Count() % ITEMS_IN_ROW );
620 }
621
622 for ( int i = 0; i < number_of_containers_needed - 1; i++ )
623 {
624 SlotsContainer.Cast( m_Container.Get( i ) ).SetColumnCount( ITEMS_IN_ROW );
625 }
626
627 RecomputeOpenedContainers();
628 m_Container.RecomputeOpenedContainers();
629 }
630
632 {
633 if (m_IsActive)
634 {
635 float x, y;
636 SlotsIcon icon = GetFocusedSlotsIcon();
637 if (icon)
638 {
639 icon.GetSelectedPanel().GetScreenPos(x, y);
640 EntityAI focusedItem = GetFocusedItem();
641 if (focusedItem)
642 {
643 #ifdef PLATFORM_CONSOLE
644 PrepareOwnedTooltip(focusedItem, -1, y); //custom positioning for the controller
645 #else
646 PrepareOwnedTooltip(focusedItem);
647 #endif
648 }
649 }
650 }
651 }
652
654 {
656 if (!w)
657 {
658 return;
659 }
660
661 ItemPreviewWidget iw = ItemPreviewWidget.Cast(w.FindAnyWidget("Render"));
662 if (!iw)
663 {
664 string name = w.GetName();
665 name.Replace("PanelWidget", "Render");
666 iw = ItemPreviewWidget.Cast( w.FindAnyWidget(name));
667 }
668
669 if (!iw)
670 {
671 iw = ItemPreviewWidget.Cast(w);
672 if (!iw)
673 {
674 return;
675 }
676 }
677
678 ItemBase item = ItemBase.Cast(iw.GetItem());
679 if (!item)
680 {
681 return;
682 }
683
684 PrepareOwnedTooltip(item);
685 }
686}
Param3 int
const int ITEMS_IN_ROW
Определения Attachments.c:1
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
map
Определения ControlsXboxNew.c:4
DayZGame g_Game
Определения DayZGame.c:3868
DayZGame GetDayZGame()
Определения DayZGame.c:3870
Icon x
Icon y
FindInventoryLocationType
flags for searching locations in inventory
Определения InventoryLocation.c:17
void InventoryMenu()
Определения InventoryMenu.c:20
bool m_IsActive
Определения ModifierBase.c:19
PlayerBase GetPlayer()
Определения ModifierBase.c:51
DayZPlayer m_player
Определения RandomGeneratorSyncManager.c:16
Widget m_Parent
Определения SizeToChild.c:92
bool CanPerformActionFromInventory(ItemBase mainItem, ItemBase targetItem)
Определения ActionManagerClient.c:1040
bool CanSetActionFromInventory(ItemBase mainItem, ItemBase targetItem)
Определения ActionManagerClient.c:1138
override ScriptCallQueue GetCallQueue(int call_category)
Определения DayZGame.c:1187
proto native DayZPlayer GetPlayer()
Super root of all classes in Enforce script.
Определения EnScript.c:11
override EntityAI GetFocusedItem()
Определения CargoContainer.c:733
override void UpdateRadialIcon()
Определения ClosableContainer.c:28
override bool IsDisplayable()
Определения ClosableContainer.c:17
void ClosableContainer(LayoutHolder parent, int sort=-1)
Определения ClosableContainer.c:6
Определения CargoContainer.c:3
override int GetHideIconMask()
Определения Transport.c:166
Определения Building.c:6
static bool CanSwapEntitiesEx(notnull EntityAI item1, notnull EntityAI item2)
Определения Inventory.c:628
script counterpart to engine's class Inventory
Определения Inventory.c:79
Icon GetIcon()
Определения HandsPreview.c:35
bool CombineItems(EntityAI entity1, EntityAI entity2)
Определения Icon.c:731
Определения Icon.c:2
override void OnRightClick()
Определения ItemBase.c:2078
Определения ItemBase.c:15
proto native bool IsValid()
verify current set inventory location
InventoryLocation.
Определения InventoryLocation.c:29
override bool IsTakeable()
Определения BaseBuildingBase.c:988
Определения InventoryItem.c:731
void SetSelectedItemEx(EntityAI selected_item, Container selected_container, LayoutHolder selected_icon)
Определения ItemManager.c:113
HandsPreview GetHandsPreview()
Определения ItemManager.c:75
bool EvaluateContainerDragabilityDefault(EntityAI entity)
Определения ItemManager.c:679
SlotsIcon GetSelectedIcon()
Определения ItemManager.c:100
EntityAI GetSelectedItem()
Определения ItemManager.c:85
void SetWidgetDraggable(Widget w, bool draggable)
Определения ItemManager.c:693
static ItemManager GetInstance()
Определения ItemManager.c:282
Определения ItemManager.c:2
proto native EntityAI GetItem()
Определения gameplay.c:277
Определения Container.c:2
Определения EnMath.c:7
Определения PlayerBaseClient.c:2
static int HasItemQuantity(notnull EntityAI item)
Определения QuantityConversions.c:143
proto void CallLater(func fn, int delay=0, bool repeat=false, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
adds call into the queue with given parameters and arguments (arguments are held in memory until the ...
SlotsIcon GetSlotIcon(int index)
Определения SlotsContainer.c:207
Определения SlotsContainer.c:2
Widget GetSelectedPanel()
Определения SlotsIcon.c:245
Widget GetPanelWidget()
Определения SlotsIcon.c:205
Widget GetMicromanagedPanel()
Определения SlotsIcon.c:255
void Init(EntityAI obj, bool reservation=false)
Определения SlotsIcon.c:501
bool IsOutOfReach()
Определения SlotsIcon.c:729
void Clear()
Определения SlotsIcon.c:612
override void UpdateInterval()
Определения SlotsIcon.c:791
Widget GetRadialIconPanel()
Определения SlotsIcon.c:300
ImageWidget GetGhostSlot()
Определения SlotsIcon.c:235
Определения SlotsIcon.c:2
static void TakeOrSplitToInventoryLocation(notnull PlayerBase player, notnull InventoryLocation dst)
Определения SplitItemUtils.c:34
Определения SplitItemUtils.c:2
void ToggleContainer(Widget w, EntityAI item)
Определения VicinityContainer.c:609
bool ExcludeFromContainer(EntityAI item)
Decides on the icon visibility.
Определения VicinitySlotsContainer.c:230
int HasItemQuantity(EntityAI item)
Определения VicinitySlotsContainer.c:436
bool IsItemWithContainerActive()
Определения VicinitySlotsContainer.c:39
void PrepareOwnedTooltipAfterItemTransferClick()
Определения VicinitySlotsContainer.c:653
void ShowItemsInContainers(array< EntityAI > items)
Определения VicinitySlotsContainer.c:236
override void SetLayoutName()
Определения VicinitySlotsContainer.c:214
bool IsEmptyItemActive()
Определения VicinitySlotsContainer.c:58
void PrepareOwnedTooltipAfterItemTransfer()
Определения VicinitySlotsContainer.c:631
void ~VicinitySlotsContainer()
Определения VicinitySlotsContainer.c:202
float GetItemQuantity(InventoryItem item)
Определения VicinitySlotsContainer.c:466
override bool IsItemActive()
Определения VicinitySlotsContainer.c:52
override bool TransferItem()
Определения VicinitySlotsContainer.c:99
override bool Select()
Определения VicinitySlotsContainer.c:142
string GetItemQuantityText(EntityAI item)
Определения VicinitySlotsContainer.c:398
override void OnDropReceivedFromHeader(Widget w, int x, int y, Widget receiver)
Определения VicinitySlotsContainer.c:539
override bool Combine()
Определения VicinitySlotsContainer.c:127
override bool CanCombineAmmo()
Определения VicinitySlotsContainer.c:76
override bool IsItemWithQuantityActive()
Определения VicinitySlotsContainer.c:46
void VicinitySlotsContainer(LayoutHolder parent)
Определения VicinitySlotsContainer.c:8
override bool InspectItem()
Определения VicinitySlotsContainer.c:87
override void OnShow()
Определения VicinitySlotsContainer.c:219
void DoubleClick(Widget w, int x, int y, int button)
Определения VicinitySlotsContainer.c:331
void MouseButtonDown(Widget w, int x, int y, int button)
Определения VicinitySlotsContainer.c:486
ref array< EntityAI > m_ShowedItems
Определения VicinitySlotsContainer.c:6
override bool IsDisplayable()
Определения VicinitySlotsContainer.c:65
void RecomputeNumberOfContainers(array< EntityAI > items)
Определения VicinitySlotsContainer.c:576
void MouseClick(Widget w, int x, int y, int button)
Определения VicinitySlotsContainer.c:497
ref AttachmentsGroupContainer m_Container
Определения VicinitySlotsContainer.c:3
void RegisterOnDropReceived(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:91
void RegisterOnDraggingOver(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:112
static WidgetEventHandler GetInstance()
Определения WidgetEventHandler.c:22
void RegisterOnMouseButtonDown(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:70
void RegisterOnMouseButtonUp(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:77
void RegisterOnDoubleClick(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:140
Определения EnWidgets.c:190
const string Container
Определения WidgetLayoutName.c:47
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto string ToString(bool simple=true)
proto native CGame GetGame()
const int QUANTITY_PROGRESS
Определения constants.c:516
const int QUANTITY_COUNT
Определения constants.c:515
const int QUANTITY_HIDDEN
Определения constants.c:514
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
static proto float Floor(float f)
Returns floor of value.
static proto float Round(float f)
Returns mathematical round of value.
const int MENU_INVENTORY
Определения constants.c:180
MouseState
Определения EnSystem.c:311
const int CALL_CATEGORY_GUI
Определения tools.c:9
proto native Widget GetWidgetUnderCursor()
proto native Widget CancelWidgetDragging()
proto native Widget GetDragWidget()
EInputDeviceType
Определения input.c:3