DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
VicinityContainer.c
См. документацию.
2{
8 protected bool m_IsProcessing = false; // Prevents refreshing every time a child is added while it is still processing
9
10 #ifndef PLATFORM_CONSOLE
11 protected ScrollWidget m_CargoScrollWidget;
12 #endif
13
14 const float DISTANCE_TO_ENTITIES = 1.0;
15 const float DISTANCE_TO_THE_REST = 0.5;
16
17 const int ITEMS_PER_COLUMN_MAX = 8;
21
22 void VicinityContainer( LayoutHolder parent, int sort = -1 )
23 {
25 m_Body.Insert( m_VicinityIconsContainer );
26 m_VicinityIconsContainer.GetRootWidget().SetColor(166 << 24 | 120 << 16 | 120 << 8 | 120);
27
28 #ifndef PLATFORM_CONSOLE
29 LeftArea leftArea = LeftArea.Cast(GetParent());
30 if (leftArea)
31 {
34 {
35 bool hasScrollerExactSize = m_CargoScrollWidget.GetFlags() & WidgetFlags.EXACTSIZE;
36 if (!hasScrollerExactSize)
37 {
38 m_CargoScrollWidget.SetFlags(WidgetFlags.IGNOREPOINTER);
39 }
40 }
41
42 leftArea.GetSlotsHeader().AddChild(GetHeader().GetRootWidget());
43 leftArea.GetSlotsArea().AddChild(m_VicinityIconsContainer.GetRootWidget());
44 }
45 #endif
46
47 m_MainWidget = m_RootWidget.FindAnyWidget( "body" );
48 WidgetEventHandler.GetInstance().RegisterOnChildAdd( m_MainWidget, this, "OnChildAdd" );
49 WidgetEventHandler.GetInstance().RegisterOnChildRemove( m_MainWidget, this, "OnChildRemove" );
50
51 RecomputeOpenedContainers();
52 m_CollapsibleHeader.SetName("#container_vicinity");
54 }
55
57 {
58 return m_VicinityIconsContainer.IsActive();
59 }
60
65
67 {
68 return ( ContainerWithCargo.Cast( GetFocusedContainer() ) != null );
69 }
70
72 {
73 return ( ContainerWithCargoAndAttachments.Cast( GetFocusedContainer() ) != null );
74 }
75
77 {
78 return ( AttachmentCategoriesContainer.Cast( GetFocusedContainer() ) != null );
79 }
80
82 {
83 map<string, bool> serialized_types = new map<string, bool>();
84 for ( int i = 0; i < m_ShowedItems.Count(); i++ )
85 {
86 EntityAI entity = m_ShowedItems.GetKey( i );
87 Container container = m_ShowedItems.GetElement( i );
88 string type = entity.GetType();
89 if ( container.IsInherited( ContainerWithCargo ) )
90 {
91 if ( !serialized_types.Contains( type ) )
92 {
93 ContainerWithCargo item_with_cargo = ContainerWithCargo.Cast( container );
94 serialized_types.Insert( type, item_with_cargo.IsOpened() );
95 }
96 }
97 }
98
99 if ( serialized_types.Count() > 0 )
100 {
101 FileSerializer file = new FileSerializer();
102 if ( file.Open( "inventory_state.save", FileMode.APPEND ) )
103 {
104 file.Write( serialized_types.Count() );
105
106 for ( i = 0; i < serialized_types.Count(); i++ )
107 {
108 file.Write( serialized_types.GetKey( i ) );
109 file.Write( serialized_types.GetElement( i ) );
110 }
111 }
112 file.Close();
113 }
114 }
115
116 override void DraggingOverHeader( Widget w, int x, int y, Widget receiver )
117 {
118 if ( w == null )
119 {
120 return;
121 }
122
123 ItemPreviewWidget ipw = ItemPreviewWidget.Cast( w.FindAnyWidget( "Render" ) );
124 if ( !ipw )
125 {
126 string name = w.GetName();
127 name.Replace( "PanelWidget", "Render" );
128 ipw = ItemPreviewWidget.Cast( w.FindAnyWidget( name ) );
129 }
130
131 if ( !ipw && ItemPreviewWidget.Cast( w ) )
132 {
133 ipw = ItemPreviewWidget.Cast( w );
134 }
135
136 if ( !ipw || !ipw.GetItem() )
137 {
138 return;
139 }
140
141 if ( ipw.GetItem() && g_Game.GetPlayer().CanDropEntity( ipw.GetItem() ) && ipw.GetItem().GetInventory().CanRemoveEntity() && m_ShowedItemIcons.Find( ipw.GetItem() ) == -1 )
142 {
145 ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
146
147 #ifndef PLATFORM_CONSOLE
148 bool ignorePointer = ItemManager.GetInstance().GetLeftSlotsScroller().GetFlags() & WidgetFlags.IGNOREPOINTER;
149 if (!ignorePointer)
150 {
151 ItemManager.GetInstance().GetLeftSlotsScroller().SetFlags(WidgetFlags.IGNOREPOINTER);
152 }
153 #endif
154 }
155 else
156 {
159 }
160 }
161
162 void DraggingOverIcon( Widget w, int x, int y, Widget receiver )
163 {
164 string name = receiver.GetName();
165 name.Replace("PanelWidget", "Render");
166 ItemPreviewWidget receiver_iw = ItemPreviewWidget.Cast( receiver.FindAnyWidget(name) );
167 EntityAI receiver_item = receiver_iw.GetItem();
168
169 ItemPreviewWidget ipw = ItemPreviewWidget.Cast( w.FindAnyWidget( "Render" ) );
170 if ( !ipw )
171 {
172 name = w.GetName();
173 name.Replace( "PanelWidget", "Render" );
174 ipw = ItemPreviewWidget.Cast( w.FindAnyWidget( name ) );
175 }
176
177 if ( !ipw && ItemPreviewWidget.Cast( w ) )
178 {
179 ipw = ItemPreviewWidget.Cast( w );
180 }
181
182 if (!ipw)
183 {
184 return;
185 }
186
187 if ( !ItemBase.Cast( receiver_item ) || !ipw.GetItem() )
188 {
189 return;
190 }
191
192 if ( ipw.GetItem().GetInventory().CanRemoveEntity() || m_ShowedItemIcons.Find( ipw.GetItem() ) > -1 )
193 {
194 if ( ( ItemBase.Cast( receiver_item ) ).CanBeCombined( ItemBase.Cast( ipw.GetItem() ) ) )
195 {
198 ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
199 return;
200 }
201 else if ( GameInventory.CanSwapEntitiesEx( receiver_item, ipw.GetItem() ) )
202 {
205 ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
206 return;
207 }
208 /*else if( g_Game.GetPlayer().CanDropEntity( ipw.GetItem() ) )
209 {
210 ColorManager.GetInstance().SetColor( w, ColorManager.GREEN_COLOR );
211 ItemManager.GetInstance().HideDropzones();
212 ItemManager.GetInstance().GetLeftDropzone().SetAlpha( 1 );
213 return;
214 }*/
215 }
216
219 }
220
221 void OnDropReceivedFromIcon( Widget w, int x, int y, Widget receiver )
222 {
223 string name = receiver.GetName();
224 name.Replace("PanelWidget", "Render");
225 ItemPreviewWidget receiver_iw = ItemPreviewWidget.Cast( receiver.FindAnyWidget(name) );
226 EntityAI receiver_item = receiver_iw.GetItem();
227
228 ItemPreviewWidget ipw = ItemPreviewWidget.Cast( w.FindAnyWidget( "Render" ) );
229 if ( !ipw )
230 {
231 name = w.GetName();
232 name.Replace( "PanelWidget", "Render" );
233 ipw = ItemPreviewWidget.Cast( w.FindAnyWidget( name ) );
234 }
235
236 if ( !ItemBase.Cast( receiver_item ) || !ipw.GetItem() )
237 {
238 return;
239 }
240
241 EntityAI item = ipw.GetItem();
242 bool equal_typed = item.GetType() == receiver_item.GetType();
243 if ( !receiver_item.IsInherited( ItemBase ) || item == null )
244 {
245 return;
246 }
247
248 PlayerBase player = PlayerBase.Cast( g_Game.GetPlayer() );
249
250 if ( !item.GetInventory().CanRemoveEntity() )
251 return;
252
253 if ( ( ItemBase.Cast( receiver_item ) ).CanBeCombined( ItemBase.Cast( item ) ) )
254 {
255 ( ItemBase.Cast( receiver_item ) ).CombineItemsClient( ItemBase.Cast( item ) );
256 }
257 else if( GameInventory.CanSwapEntitiesEx( receiver_item, item ) )
258 {
261 receiver_item.GetInventory().GetCurrentInventoryLocation( il1 );
262 item.GetInventory().GetCurrentInventoryLocation( il2 );
263
264 if( !receiver_item.GetInventory().CanRemoveEntity() || ( il1.GetType() == InventoryLocationType.GROUND && il2.GetType() == InventoryLocationType.GROUND ) )
265 return;
266 player.PredictiveSwapEntities( item, receiver_item );
267 }
268
271 PrepareOwnedTooltip(item);
272
273 InventoryMenu menu = InventoryMenu.Cast( g_Game.GetUIManager().FindMenu( MENU_INVENTORY ) );
274 if ( menu )
275 {
276 menu.RefreshQuickbar();
277 }
278 }
279
280 void OnLeftPanelDropReceived( Widget w, int x, int y, Widget receiver )
281 {
282 OnDropReceivedFromHeader( w, x, y, receiver );
283 }
284
285 void OnDropReceivedFromEmptySpace( Widget w, int x, int y, Widget receiver )
286 {
287 OnDropReceivedFromHeader( w, x, y, receiver );
288 }
289
290 override void OnDropReceivedFromHeader(Widget w, int x, int y, Widget receiver)
291 {
292 if (!w)
293 return;
294
297
298 ItemPreviewWidget ipw = ItemPreviewWidget.Cast(w.FindAnyWidget("Render"));
299
300 if (!ipw)
301 {
302 string name = w.GetName();
303 name.Replace("PanelWidget", "Render");
304 ipw = ItemPreviewWidget.Cast(w.FindAnyWidget(name));
305 }
306
307 if (!ipw)
308 {
309 ipw = ItemPreviewWidget.Cast(w);
310 if (!ipw)
311 return;
312 }
313
314 EntityAI item = ipw.GetItem();
315 if (!ipw.IsInherited(ItemPreviewWidget) || !item)
316 return;
317
318 if (!item.GetInventory().CanRemoveEntity() || m_ShowedItemIcons.Find(item) > -1)
319 return;
320
321 PlayerBase player = PlayerBase.Cast(g_Game.GetPlayer());
322 if (player.CanDropEntity(item))
323 {
324 ItemBase itemBase = ItemBase.Cast(item);
325 if (itemBase)
326 {
327 if (itemBase.GetTargetQuantityMax() < itemBase.GetQuantity())
328 itemBase.SplitIntoStackMaxClient(null, -1);
329 else
330 player.PhysicalPredictiveDropItem(itemBase);
331 }
332 }
333
334 InventoryMenu menu = InventoryMenu.Cast( g_Game.GetUIManager().FindMenu( MENU_INVENTORY ) );
335 if ( menu )
336 {
337 menu.RefreshQuickbar();
338 }
339 }
340
341 override void UpdateInterval()
342 {
343 PlayerBase player = PlayerBase.Cast( g_Game.GetPlayer() );
344
345 if (!player)
346 return;
347
348 super.UpdateInterval();
349
350 EntityAI eai;
351 vector pos = player.GetPosition();
352 array<EntityAI> objects;
353
354 VicinityItemManager.GetInstance().Update( player.GetDeltaT() );
356
357 //GetItemsShowableInInventory
358 array<EntityAI> showable_items = new array<EntityAI>;
359 bool isUsedMicromanagment = false;
361 int m_OldShowedItemIconsCount = m_ShowedItemIcons.Count();
362
363 if (selectesItem && ItemManager.GetInstance().IsMicromanagmentMode())
364 {
365 if (m_ShowedItemIcons.Find(selectesItem) != -1)
366 {
367 isUsedMicromanagment = true;
368 }
369 }
370 m_ShowedItemIcons.Clear();
371
372 GameInventory game_inventory = player.GetInventory();
373 for ( int i = 0; i < objects.Count(); i++ )
374 {
375 eai = objects.Get( i );
376 if ( eai == null || game_inventory.IsPlaceholderEntity( eai ) )
377 continue; // noproxy: ignore body placeholder
378
379 BaseBuildingBase base_building = BaseBuildingBase.Cast(eai);
380 if (base_building && !base_building.IsPlayerInside(player,""))
381 continue;
382
383 if (eai.IsInventoryVisible())
384 {
385 showable_items.Insert(eai);
386
387 if (!eai.DisableVicinityIcon())
388 {
389 m_ShowedItemIcons.Insert(eai);
390 }
391 }
392 }
393
394 if (isUsedMicromanagment && m_ShowedItemIcons.Find(selectesItem) == -1 )
395 {
396 //ItemManager.GetInstance().SetItemMicromanagmentMode(false);
397 ItemManager.GetInstance().SetSelectedItemEx(null, null, null);
398 isUsedMicromanagment = false;
399 }
400
401 //MW HOTFIX - old containers must be removed before new one are added (part of initialize are refreshed whole structure - need proper fix to avoid it)
403 Container con;
404
405 foreach (EntityAI showableItem : showable_items)
406 {
407 new_showed_items.Insert(showableItem,null);
408 }
409
410 bool need_update_focus = false;
411 foreach (EntityAI ent, Container cont : m_ShowedItems)
412 {
413 cont.UpdateInterval();
414 if (!new_showed_items.Contains(ent))
415 {
416 if (selectesItem && selectesItem.GetHierarchyRoot() == ent)
417 {
418 ItemManager.GetInstance().SetSelectedItemEx(null, null, null);
419 }
420 GetMainWidget().Update();
421 if (cont.IsActive())
422 need_update_focus = true;
423 Container.Cast(GetParent()).Remove(cont);
424 Remove(cont);
425 }
426 else
427 {
428 UpdateHeader(ent, cont, player); //squeezed here, the map is iterated over enough already..
429 }
430 }
432
433 bool accessInventory = PlayerBase.DEBUG_INVENTORY_ACCESS;
434 accessInventory |= FreeDebugCamera.GetInstance() && FreeDebugCamera.GetInstance().IsActive();
435
436
437 //map<EntityAI, ref Container> new_showed_items = new map<EntityAI, ref Container>;
438 new_showed_items.Clear();
440 for ( i = 0; i < showable_items.Count(); i++ )
441 {
442 EntityAI entity = showable_items.Get( i );
443 if ( entity )
444 {
445 if ( game_inventory && !m_ShowedItems.Contains( entity ) )
446 {
447 string config = "CfgVehicles " + entity.GetType() + " GUIInventoryAttachmentsProps";
448
449 if ( g_Game.ConfigIsExisting( config ) )
450 {
452 ac.SetEntity( entity );
453 new_showed_items.Insert( entity, ac );
454 showed_items_IDs.Insert( entity.GetID(), ac);
455 }
456 else if ( entity.GetSlotsCountCorrect() > 0 && entity.GetInventory().GetCargo() )
457 {
458 if ( entity.IsInherited( DayZInfected ) )
459 {
460 if ( entity.IsAlive() )
461 {
462 continue;
463 }
464 ZombieContainer zmb_cnt = new ZombieContainer( m_Parent, -1 );
465 zmb_cnt.SetEntity( entity );
466 new_showed_items.Insert( entity, zmb_cnt );
467 showed_items_IDs.Insert( entity.GetID(), zmb_cnt );
468 Container.Cast( GetParent() ).Insert( zmb_cnt );
469 }
470 else
471 {
472 ContainerWithCargoAndAttachments iwca = new ContainerWithCargoAndAttachments( this, -1 );
473 iwca.SetEntity( entity, false );
474 new_showed_items.Insert( entity, iwca );
475 showed_items_IDs.Insert( entity.GetID(), iwca );
476 }
477 }
478 else if ( entity.GetInventory().GetCargo() )
479 {
480 ContainerWithCargo iwc = new ContainerWithCargo( this, -1 );
481 iwc.SetEntity( entity, 0, false );
482 new_showed_items.Insert( entity, iwc );
483 showed_items_IDs.Insert( entity.GetID(), iwc );
484 iwc.UpdateInterval();
485 }
486 else if ( entity.GetSlotsCountCorrect() > 0 )
487 {
488 if ( entity.HasEnergyManager() )
489 {
491 iwem.SetEntity( entity, false );
492 new_showed_items.Insert( entity, iwem );
493 showed_items_IDs.Insert( entity.GetID(), iwem );
494 }
495 else
496 {
497 if ( entity.IsInherited( PlayerBase ) )
498 {
500 if (accessInventory == false)
501 {
502 if ( entity.IsAlive() && ( !PlayerBase.Cast( entity ).IsUnconscious() && !PlayerBase.Cast( entity ).IsRestrained() ) )
503 {
504 continue;
505 }
506 }
507
508 PlayerContainer plyr_cnt = new PlayerContainer( m_Parent, false );
509 plyr_cnt.SetPlayer( PlayerBase.Cast( entity ) );
510 Container.Cast( GetParent() ).Insert( plyr_cnt );
511 ( Container.Cast( m_Parent ) ).Refresh();
512 new_showed_items.Insert( entity, plyr_cnt );
513 showed_items_IDs.Insert( entity.GetID(), plyr_cnt);
514 }
515 else
516 {
517 ContainerWithCargoAndAttachments iwcas = new ContainerWithCargoAndAttachments( this, -1 );
518 iwcas.SetEntity( entity, false );
519 new_showed_items.Insert( entity, iwcas );
520 showed_items_IDs.Insert( entity.GetID(), iwcas );
521 iwcas.UpdateInterval();
522 }
523 }
524 }
525 }
526 else
527 {
528 //TODO MW: remove old containers on one spot (hotfix)
529 con = m_ShowedItems.Get( entity );
530 if ( con )
531 {
532 if ( entity.IsInherited( PlayerBase ) )
533 {
535 if ( !accessInventory && entity.IsAlive() && ( !PlayerBase.Cast( entity ).IsUnconscious() && !PlayerBase.Cast( entity ).IsRestrained() ) )
536 {
537 GetMainWidget().Update();
538 if ( con.IsActive() )
539 need_update_focus = true;
540 Container.Cast( GetParent() ).Remove( con );
541 Remove( con );
542 continue;
543 }
544 }
545
546 if ( entity.IsInherited( BaseBuildingBase ) )
547 {
548 if ( !BaseBuildingBase.Cast(entity).IsPlayerInside(player,""))
549 {
550 GetMainWidget().Update();
551 if ( con.IsActive() )
552 need_update_focus = true;
553 Container.Cast( GetParent() ).Remove( con );
554 Remove( con );
555 continue;
556 }
557 }
558
559 new_showed_items.Insert( entity, m_ShowedItems.Get( entity ) );
560 showed_items_IDs.Insert( entity.GetID(), m_ShowedItemsIDs.Get( entity.GetID() ) );
561 }
562 }
563 }
564 }
565
568 for ( i = 0; i < cargoes.Count(); i++ )
569 {
570 CargoBase cgo = cargoes.Get( i );
571 if ( cgo )
572 {
573 if (game_inventory && !m_ShowedCargos.Contains( cgo ) )
574 {
575 ContainerWithCargo pxc = new ContainerWithCargo( this, -1 );
576 pxc.SetEntity( cgo.GetCargoOwner(), cgo.GetOwnerCargoIndex(), false );
577 new_showed_cargos.Insert( cgo, pxc );
578 pxc.UpdateInterval();
579 }
580 else
581 {
582 if ( m_ShowedCargos.Get( cgo ) )
583 {
584 new_showed_cargos.Insert( cgo, m_ShowedCargos.Get( cgo ) );
585 }
586 }
587 }
588 }
589
590 for ( int ic = 0; ic < m_ShowedCargos.Count(); ic++ )
591 {
592 CargoBase cgo2 = m_ShowedCargos.GetKey( ic );
593 m_ShowedCargos.GetElement( ic ).UpdateInterval();
594 if ( !new_showed_cargos.Contains( cgo2 ) )
595 {
596 Container con2 = m_ShowedCargos.GetElement( ic );
597 if( con2.IsActive() )
598 need_update_focus = true;
599 GetMainWidget().Update();
600 Container.Cast( GetParent() ).Remove( con2 );
601 Remove( con2 );
602 }
603 }
604
605 m_ShowedItems = new_showed_items;
606 m_ShowedItemsIDs = showed_items_IDs;
607 m_ShowedCargos = new_showed_cargos;
608 //Because WTF (zombie container)
609 Container.Cast( GetParent() ).RecomputeOpenedContainers();
610 if (need_update_focus)
611 SetFirstActive();
612 //RecomputeOpenedContainers();
614 m_VicinityIconsContainer.ShowItemsInContainers( m_ShowedItemIcons );
615
616 if ( m_ShowedItemIcons.Count() != m_OldShowedItemIconsCount )
617 {
618 Inventory in = Inventory.Cast( GetRoot() );
619 if ( in )
620 in.UpdateConsoleToolbar();
621 }
622
623 #ifndef PLATFORM_CONSOLE
626 {
627 float width, height;
628 m_CargoScrollWidget.GetSize(width, height);
629 if (showable_items.Count() >= ITEMS_PER_COLUMN_MAX * 2)
630 {
632 }
633 else if (showable_items.Count() >= ITEMS_PER_COLUMN_MAX)
634 {
636 }
637 else
638 {
640 }
641 }
642 #endif
643 }
644
646 {
647 SlotsIcon slots_icon;
648 Container c;
649 w.GetUserData(slots_icon);
650
651 if ( item )
652 {
653 c = Container.Cast( m_ShowedItems.Get( item ) );
654 }
655
656 if (c)
657 {
659 }
660 }
661
662 override bool CanOpenCloseContainerEx(EntityAI focusedEntity)
663 {
664 if (focusedEntity)
665 {
666 ClosableContainer c = ClosableContainer.Cast( m_ShowedItems.Get( focusedEntity ) );
667 if (c && c.IsDisplayable())
668 {
669 return true;
670 }
671 }
672 return false;
673 }
674
675 //Call from ExpandCollapseContainer - not call
676 void ToggleContainer( notnull Container conta )
677 {
678 conta.Toggle();
679 }
680
682 {
683 EntityAI item = GetFocusedItem();
684 Container conta;
685
686 if (m_ShowedItems && item)
687 {
688 conta = m_ShowedItems.Get( item );
689 if (conta)
690 {
691 ToggleContainer( conta );
692 }
693 }
694 }
695
696 override bool OnChildRemove( Widget w, Widget child )
697 {
698 w.Update();
699 float x, y;
700 w.GetScreenSize( x, y );
701 if ( w == GetMainWidget() )
702 {
703 GetMainWidget().Update();
704 m_Parent.OnChildRemove( w, child );
705 }
706 return true;
707 }
708
709 override bool OnChildAdd( Widget w, Widget child )
710 {
711 if ( w == GetMainWidget() )
712 {
713 GetMainWidget().Update();
714 m_Parent.OnChildAdd( w, child );
715 }
716 return true;
717 }
718
720 {
721 super.CollapseButtonOnMouseButtonDown(w);
723 }
724
726 void UpdateHeader(EntityAI entity, Container cont, PlayerBase player)
727 {
729
730 if (cont.GetHeader())
731 {
732 if (GetDragWidget() == cont.GetHeader())
733 {
735 }
736 ItemManager.GetInstance().SetWidgetDraggable(cont.GetHeader().GetMainWidget(),draggable);
737 }
738 }
739}
void Inventory(LayoutHolder parent)
Entity m_Parent
Определения CachedEquipmentStorageBase.c:17
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
DayZGame g_Game
Определения DayZGame.c:4074
Icon x
Icon y
InventoryLocationType
types of Inventory Location
Определения InventoryLocation.c:4
void InventoryMenu()
Определения InventoryMenu.c:20
ref Widget m_RootWidget[MAX_SIMULTANIOUS_PLAYERS]
Определения PluginRemotePlayerDebugClient.c:14
void SetEntity(EntityAI entity)
Определения AttachmentCategoriesContainer.c:27
override bool IsPlayerInside(PlayerBase player, string selection)
Определения Fence.c:661
Определения Fence.c:2
proto native EntityAI GetCargoOwner()
get the entity that owns the cargo
proto native int GetOwnerCargoIndex()
represents base for cargo storage for entities
Определения Cargo.c:7
override bool IsDisplayable()
Определения ContainerWithCargo.c:19
bool m_Hidden
Определения CollapsibleContainer.c:4
void CollapsibleContainer(LayoutHolder parent, int sort=-1)
Определения CollapsibleContainer.c:6
override void Remove(LayoutHolder container)
Определения CollapsibleContainer.c:79
ref CollapsibleHeader m_CollapsibleHeader
Определения CollapsibleContainer.c:3
override Header GetHeader()
Определения CollapsibleContainer.c:176
void LoadDefaultState()
Определения CollapsibleContainer.c:111
void UpdateCollapseButtons()
Определения CollapsibleContainer.c:91
void SetColor(Widget w, int color)
Определения ColorManager.c:32
static int COMBINE_COLOR
Определения ColorManager.c:20
static int SWAP_COLOR
Определения ColorManager.c:18
static int GREEN_COLOR
Определения ColorManager.c:17
static int RED_COLOR
Определения ColorManager.c:16
static ColorManager GetInstance()
Определения ColorManager.c:27
Определения ColorManager.c:2
override EntityAI GetFocusedItem()
Определения CargoContainer.c:733
override Header GetHeader()
Определения ClosableContainer.c:62
override void Refresh()
Определения CargoContainer.c:526
void ClosableContainer(LayoutHolder parent, int sort=-1)
Определения ClosableContainer.c:6
Определения CargoContainer.c:3
override void SetEntity(EntityAI entity, bool immedUpdate=true)
Определения ContainerWithElectricManager.c:11
Определения ZombieBase.c:2
override bool DisableVicinityIcon()
Определения 3_Game/DayZ/Entities/Man.c:782
proto native bool Open(string path, FileMode mode=FileMode.READ)
proto native void Close()
Serializer API implementation for File IO. See Serializer for more info. usage:
Определения Serializer.c:104
static bool CanSwapEntitiesEx(notnull EntityAI item1, notnull EntityAI item2)
proto native bool IsPlaceholderEntity(notnull Object e)
script counterpart to engine's class Inventory
proto native int GetType()
returns type of InventoryLocation
InventoryLocation.
Определения InventoryLocation.c:30
void SetSelectedItemEx(EntityAI selected_item, Container selected_container, LayoutHolder selected_icon)
Определения ItemManager.c:113
void ShowSourceDropzone(EntityAI item)
Определения ItemManager.c:302
void SetDefaultHeaderOpenState(string type, bool is_opened)
Определения ItemManager.c:173
bool EvaluateContainerDragabilityDefault(EntityAI entity)
Определения ItemManager.c:679
ScrollWidget GetLeftSlotsScroller()
Определения ItemManager.c:864
Widget GetLeftDropzone()
Определения ItemManager.c:336
EntityAI GetSelectedItem()
Определения ItemManager.c:85
void HideDropzones()
Определения ItemManager.c:287
bool IsMicromanagmentMode()
Определения ItemManager.c:70
void SetWidgetDraggable(Widget w, bool draggable)
Определения ItemManager.c:693
void SetIsDragging(bool is_dragging)
Определения ItemManager.c:383
static ItemManager GetInstance()
Определения ItemManager.c:282
Определения ItemManager.c:2
proto native EntityAI GetItem()
Определения gameplay.c:287
Определения Container.c:2
override ScrollWidget GetScrollWidget()
Определения LeftArea.c:70
Widget GetSlotsArea()
Определения LeftArea.c:279
Widget GetSlotsHeader()
Определения LeftArea.c:274
Определения LeftArea.c:2
Определения PlayerBaseClient.c:2
void SetPlayer(PlayerBase player)
Определения PlayerContainer.c:661
Определения PlayerContainer.c:2
proto bool Write(void value_out)
Определения SlotsIcon.c:2
override bool OnChildAdd(Widget w, Widget child)
Определения VicinityContainer.c:709
ScrollWidget m_CargoScrollWidget
Определения VicinityContainer.c:11
void OnDropReceivedFromEmptySpace(Widget w, int x, int y, Widget receiver)
Определения VicinityContainer.c:285
const int ITEMS_PER_COLUMN_MAX
Определения VicinityContainer.c:17
void TraverseShowedItems()
Определения VicinityContainer.c:81
override void CollapseButtonOnMouseButtonDown(Widget w)
Определения VicinityContainer.c:719
const float DISTANCE_TO_THE_REST
Определения VicinityContainer.c:15
void UpdateHeader(EntityAI entity, Container cont, PlayerBase player)
Updates header dragability to be consistent with current 'icon' behaviour.
Определения VicinityContainer.c:726
void OnLeftPanelDropReceived(Widget w, int x, int y, Widget receiver)
Определения VicinityContainer.c:280
ref VicinitySlotsContainer m_VicinityIconsContainer
Определения VicinityContainer.c:3
const float VICINITY_CARGO_SCROLLER_HEIGHT_MID
Определения VicinityContainer.c:19
ref map< int, ref Container > m_ShowedItemsIDs
Определения VicinityContainer.c:5
bool IsContainerWithCargoActive()
Определения VicinityContainer.c:66
bool m_IsProcessing
Определения VicinityContainer.c:8
override bool OnChildRemove(Widget w, Widget child)
Определения VicinityContainer.c:696
override void UpdateInterval()
Определения VicinityContainer.c:341
const float VICINITY_CARGO_SCROLLER_HEIGHT_MIN
Определения VicinityContainer.c:18
ref map< CargoBase, ref Container > m_ShowedCargos
Определения VicinityContainer.c:7
bool IsVicinityContainerIconsActive()
Определения VicinityContainer.c:56
void OnDropReceivedFromIcon(Widget w, int x, int y, Widget receiver)
Определения VicinityContainer.c:221
void VicinityContainer(LayoutHolder parent, int sort=-1)
Определения VicinityContainer.c:22
ref array< EntityAI > m_ShowedItemIcons
Определения VicinityContainer.c:6
bool IsItemWithAttachmentsActive()
Определения VicinityContainer.c:71
override void DraggingOverHeader(Widget w, int x, int y, Widget receiver)
Определения VicinityContainer.c:116
const float DISTANCE_TO_ENTITIES
Определения VicinityContainer.c:14
bool IsItemWithCategoriesActive()
Определения VicinityContainer.c:76
void DraggingOverIcon(Widget w, int x, int y, Widget receiver)
Определения VicinityContainer.c:162
ref map< EntityAI, ref Container > m_ShowedItems
Определения VicinityContainer.c:4
void ToggleContainer(Widget w, EntityAI item)
Определения VicinityContainer.c:645
void ToggleContainer(notnull Container conta)
Определения VicinityContainer.c:676
override void ExpandCollapseContainer()
Определения VicinityContainer.c:681
VicinitySlotsContainer GetVicinityIconsContainer()
Определения VicinityContainer.c:61
override bool CanOpenCloseContainerEx(EntityAI focusedEntity)
Определения VicinityContainer.c:662
const float VICINITY_CARGO_SCROLLER_HEIGHT_MAX
Определения VicinityContainer.c:20
override void OnDropReceivedFromHeader(Widget w, int x, int y, Widget receiver)
Определения VicinityContainer.c:290
array< EntityAI > GetVicinityItems()
Определения VicinityItemManager.c:34
void Update(float delta_time)
Определения VicinityItemManager.c:81
array< CargoBase > GetVicinityCargos()
Определения VicinityItemManager.c:63
static VicinityItemManager GetInstance()
Определения VicinityItemManager.c:22
void RegisterOnChildRemove(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:167
static WidgetEventHandler GetInstance()
Определения WidgetEventHandler.c:22
void RegisterOnChildAdd(Widget w, Managed eventHandler, string functionName)
Определения WidgetEventHandler.c:160
Определения EnWidgets.c:190
void SetEntity(EntityAI zombie_entity)
Определения ZombieContainer.c:37
Определения ZombieContainer.c:2
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Определения Transport.c:70
Определения EnConvert.c:119
FileMode
Определения EnSystem.c:383
const int MENU_INVENTORY
Определения 3_Game/DayZ/constants.c:186
proto native Widget GetParent()
Get parent of the Effect.
Определения Effect.c:422
WidgetFlags
Определения EnWidgets.c:58
proto native Widget CancelWidgetDragging()
proto native Widget GetDragWidget()