DayZ 1.26
DayZ Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс Container
+ Граф наследования:Container:

Защищенные члены

void CargoContainer (LayoutHolder parent, bool is_attachment=false)
 
void ~CargoContainer ()
 
int GetCargoIndex ()
 
void AddedToCargoEx (EntityAI item, bool refresh=true)
 
void AddedToCargo (EntityAI item)
 
void RemovedFromCargo (EntityAI item)
 
void MovedInCargo (EntityAI item)
 
void SetLock (EntityAI item)
 
void ReleaseLock (EntityAI item)
 
override void SetLayoutName ()
 
void SetEntity (EntityAI item, int cargo_index=0, bool immedUpdate=true)
 
EntityAI GetEntity ()
 
void UpdateHeaderText ()
 
void InitGridHeight ()
 
void UpdateSize ()
 
float GetIconSize ()
 
float GetSpaceSize ()
 
int GetCargoCapacity ()
 
int GetMaxCargoCapacity ()
 
Icon GetIcon (EntityAI item)
 
Icon GetIcon (int index)
 
Icon GetFocusedIcon ()
 
override float GetFocusedContainerHeight (bool contents=false)
 
override float GetFocusedContainerYPos (bool contents=false)
 
override float GetFocusedContainerYScreenPos (bool contents=false)
 
void UpdateSelection ()
 
void UpdateRowVisibility (int count)
 
override void Refresh ()
 
void RefreshImpl ()
 
override void UpdateInterval ()
 
Icon InitIconEx (Icon icon, EntityAI item, int pos_x, int pos_y, bool refresh=true)
 
Icon InitIcon (Icon icon, EntityAI item, int pos_x, int pos_y)
 
bool HasItem (EntityAI item)
 
override bool TransferItemToVicinity ()
 
override void SetDefaultFocus (bool while_micromanagment_mode=false)
 
override void SetLastFocus ()
 
override void Unfocus ()
 
override void UnfocusAll ()
 
override void SetNextActive ()
 
override void SetPreviousActive (bool force=false)
 
override void SetNextRightActive ()
 
override void SetNextLeftActive ()
 
override EntityAI GetFocusedItem ()
 
override void SetLastActive ()
 
override void SetActive (bool active)
 
override bool IsItemActive ()
 
override bool IsItemWithQuantityActive ()
 
override bool IsEmpty ()
 
int GetRecipeCount (bool recipe_anywhere, ItemBase entity1, ItemBase entity2, PlayerBase player)
 
override bool CanCombineAmmo ()
 
override bool TransferItem ()
 
override bool SplitItem ()
 
override bool EquipItem ()
 
override bool SelectItem ()
 
override bool Select ()
 
override bool Combine ()
 
void ShowFalseCargoHeader (bool show)
 
void SetAlternateFalseTextHeaderWidget (TextWidget w)
 
void SetAttachmentSlotID (int slotID)
 
int GetAttachmentSlotID ()
 
int GetIconsCount ()
 
void ClosableContainer (LayoutHolder parent, int sort=-1)
 
override bool IsDisplayable ()
 
override void UpdateRadialIcon ()
 
void SetOpenState (bool state)
 
override Header GetHeader ()
 
override void Open ()
 
override void Close ()
 
override void SetLayoutName ()
 
override void OnShow ()
 
override LayoutHolder Get (int x)
 
override void Refresh ()
 
void CloseButtonOnMouseButtonDown ()
 
override float GetFocusedContainerHeight (bool contents=false)
 
override float GetFocusedContainerYPos (bool contents=false)
 
override float GetFocusedContainerYScreenPos (bool contents=false)
 
void MoveContainerUp (Widget cont)
 
void MoveContainerDown (Widget cont)
 
override void CheckHeaderDragability ()
 

Защищенные данные

const int ROWS_NUMBER_XBOX = 5
 
CargoBase m_Cargo
 
int m_CargoIndex = -1
 
int m_FocusedItemPosition = -1
 
ref array< ref CargoContainerRowm_Rows
 
ref array< ref Iconm_Icons
 
ref map< EntityAI, ref Param3< ref Icon, int, int > > m_ShowedItemPositions
 
ref map< EntityAI, ref Param3< ref Icon, int, int > > m_ShowedLockPositions
 
float m_IconSize
 
float m_SpaceSize
 
bool m_IsAttachment
 
TextWidget m_FalseHeaderTextWidget
 
TextWidget m_AlternateFalseHeaderTextWidget
 
Widget m_CargoHeader
 
Widget m_CargoContainer
 
Widget m_ItemsContainer
 
ref SizeToChild m_Resizer1
 
ref SizeToChild m_Resizer2
 
ref Timer m_ResizeTimer
 
int m_AttachmentSlotID = -1
 
ref ClosableHeader m_ClosableHeader
 
bool m_LockCargo
 

Подробное описание

Конструктор(ы)

◆ ~CargoContainer()

void ~CargoContainer ( )
inlineprotected
55 {
56 if ( m_Entity )
57 {
58 m_Entity.GetOnItemAddedIntoCargo().Remove( AddedToCargo );
59 m_Entity.GetOnItemRemovedFromCargo().Remove( RemovedFromCargo );
60 m_Entity.GetOnItemMovedInCargo().Remove( MovedInCargo );
61 m_Entity.GetOnSetLock().Remove( SetLock );
62 m_Entity.GetOnReleaseLock().Remove( ReleaseLock );
63 }
64 }
EntityAI m_Entity
Definition ActionDebug.c:11
void MovedInCargo(EntityAI item)
Definition CargoContainer.c:146
void SetLock(EntityAI item)
Definition CargoContainer.c:180
void AddedToCargo(EntityAI item)
Definition CargoContainer.c:112
void RemovedFromCargo(EntityAI item)
Definition CargoContainer.c:117
void ReleaseLock(EntityAI item)
Definition CargoContainer.c:201

Перекрестные ссылки m_Entity и SetLock().

Методы

◆ AddedToCargo()

void AddedToCargo ( EntityAI item)
inlineprotected
113 {
115 }
void AddedToCargoEx(EntityAI item, bool refresh=true)
Definition CargoContainer.c:68
Definition EntityAI.c:95

Перекрестные ссылки AddedToCargoEx().

◆ AddedToCargoEx()

void AddedToCargoEx ( EntityAI item,
bool refresh = true )
inlineprotected
69 {
71 item.GetInventory().GetCurrentInventoryLocation( il );
72 int x = il.GetCol();
73 int y = il.GetRow();
74
75 if ( m_ShowedItemPositions.Contains( item ) )
76 {
78 InitIconEx( item_pos.param1, item, x, y, refresh );
79 item_pos.param2 = x;
80 item_pos.param3 = y;
81 }
82 else
83 {
84 ref Icon icon = new Icon( this, false );
85 m_Icons.Insert( icon );
88 }
89
90 if (refresh)
92
93 #ifdef PLATFORM_CONSOLE
94 for ( int i = 0; i < m_Cargo.GetItemCount(); i++ )
95 {
98 if ( data )
99 {
100 data.param1.SetCargoPos( i );
101 data.param1.SetPos();
102 }
103 }
104
106
107 if (refresh)
108 Refresh();
109 #endif
110 }
Icon x
Icon y
proto native int GetItemCount()
proto native EntityAI GetItem(int index)
override void Refresh()
Definition CargoContainer.c:515
ref array< ref Icon > m_Icons
Definition CargoContainer.c:11
Icon InitIconEx(Icon icon, EntityAI item, int pos_x, int pos_y, bool refresh=true)
Definition CargoContainer.c:543
CargoBase m_Cargo
Definition CargoContainer.c:6
int m_FocusedItemPosition
Definition CargoContainer.c:9
ref map< EntityAI, ref Param3< ref Icon, int, int > > m_ShowedItemPositions
Definition CargoContainer.c:12
void UpdateHeaderText()
Definition CargoContainer.c:289
Definition Building.c:6
Definition Icon.c:2
InventoryLocation.
Definition InventoryLocation.c:29
Definition EnMath.c:7
static proto float Min(float x, float y)
Returns smaller of two given values.

Перекрестные ссылки CargoBase::GetItem(), CargoBase::GetItemCount(), InitIconEx(), Math::Min(), Refresh(), UpdateHeaderText(), x и y.

Используется в AddedToCargo() и SetEntity().

◆ CanCombineAmmo()

override bool CanCombineAmmo ( )
inlineprotected
796 {
797 if( GetFocusedIcon() )
798 {
800
802 ItemBase item_in_hands = ItemBase.Cast( GetGame().GetPlayer().GetHumanInventory().GetEntityInHands() );
803
804 return ( amc.CanPerformActionFromInventory( item_in_hands, entity ) || amc.CanSetActionFromInventory( item_in_hands, entity ) );
805 }
806 return false;
807 }
Object GetObject()
Definition ActionTargets.c:122
void GetActionManager()
Definition CrossHairSelector.c:132
PlayerBase GetPlayer()
Definition ModifierBase.c:51
Definition ActionManagerClient.c:5
Icon GetFocusedIcon()
Definition CargoContainer.c:431
Definition InventoryItem.c:731
Definition PlayerBaseClient.c:2
proto native CGame GetGame()

Перекрестные ссылки GetActionManager(), GetFocusedIcon(), GetGame(), GetObject() и GetPlayer().

◆ CargoContainer()

void CargoContainer ( LayoutHolder parent,
bool is_attachment = false )
inlineprotected
33 {
39
40 m_CargoContainer = m_RootWidget.FindAnyWidget( "grid_background" );
41 m_ItemsContainer = m_RootWidget.FindAnyWidget( "grid_overlay" );
42 m_CargoHeader = m_RootWidget.FindAnyWidget( "grid_container_header_spacer" );
43#ifndef PLATFORM_CONSOLE
44 m_RootWidget.GetScript( m_Resizer1 );
45#endif
46 m_RootWidget.FindAnyWidget( "grid_container" ).GetScript( m_Resizer2 );
48 m_FalseHeaderTextWidget = TextWidget.Cast(m_CargoHeader.FindAnyWidget( "TextWidget0" ));
49
50 m_MainWidget = m_CargoContainer;
52 }
ref Widget m_RootWidget[MAX_SIMULTANIOUS_PLAYERS]
Definition PluginRemotePlayerDebugClient.c:14
bool m_IsAttachment
Definition CargoContainer.c:18
Widget m_CargoHeader
Definition CargoContainer.c:21
ref SizeToChild m_Resizer2
Definition CargoContainer.c:27
Widget m_ItemsContainer
Definition CargoContainer.c:23
Widget m_CargoContainer
Definition CargoContainer.c:22
ref SizeToChild m_Resizer1
Definition CargoContainer.c:25
ref array< ref CargoContainerRow > m_Rows
Definition CargoContainer.c:10
TextWidget m_FalseHeaderTextWidget
Definition CargoContainer.c:19
ref map< EntityAI, ref Param3< ref Icon, int, int > > m_ShowedLockPositions
Definition CargoContainer.c:13
Definition EnWidgets.c:220

Перекрестные ссылки m_CargoContainer и m_RootWidget.

Используется в HandsContainer::AttachmentAdded(), HandsContainer::AttachmentRemoved(), HandsContainer::DestroyCargo(), LayoutHolder::SetSameLevelNextActive(), LayoutHolder::SetSameLevelPreviousActive(), HandsContainer::ShowAtt() и HandsContainer::UnfocusGrid().

◆ CheckHeaderDragability()

override void CheckHeaderDragability ( )
inlineprotected
182 {
183 super.CheckHeaderDragability();
184
185 if (m_ClosableHeader && m_Entity) //TODO: do the entity check here?
186 {
187 int flag = m_ClosableHeader.GetMainWidget().GetFlags();
188 bool old = flag & WidgetFlags.DRAGGABLE;
189 bool current = ItemBase.Cast(m_Entity) && m_Entity.IsTakeable();
190 //bool changed = false;
191 if (old && !current)
192 {
193 m_ClosableHeader.GetMainWidget().ClearFlags( WidgetFlags.DRAGGABLE );
195 if (drag && drag == m_ClosableHeader.GetMainWidget())
196 {
198 m_ClosableHeader.OnDropHeader(null);
199 }
200
201 //changed = true;
202 }
203 else if (!old && current)
204 {
205 m_ClosableHeader.GetMainWidget().SetFlags( WidgetFlags.DRAGGABLE );
206 //changed = true;
207 }
208 /*if (old != current)
209 {
210 flag &= ~WidgetFlags.DRAGGABLE;
211 m_ClosableHeader.GetMainWidget().SetFlags( flag );
212 }*/
213 }
214 }
ref ClosableHeader m_ClosableHeader
Definition ClosableContainer.c:3
Definition EnWidgets.c:190
WidgetFlags
Definition EnWidgets.c:58
proto native Widget CancelWidgetDragging()
proto native Widget GetDragWidget()

Перекрестные ссылки CancelWidgetDragging(), GetDragWidget() и m_Entity.

Используется в LayoutHolder::UpdateInterval().

◆ ClosableContainer()

void ClosableContainer ( LayoutHolder parent,
int sort = -1 )
inlineprotected
7 {
8 m_Body = new array<ref LayoutHolder>;
9 m_ClosableHeader = new ClosableHeader( this, "CloseButtonOnMouseButtonDown" );
10
11 if( sort > -1 )
12 m_RootWidget.SetSort( sort + 2 );
13
14 m_MainWidget = m_MainWidget.FindWidget( "body" );
15 }
Definition ClosableHeader.c:2

Перекрестные ссылки m_RootWidget.

◆ Close()

override void Close ( )
inlineprotected
80 {
81 ItemManager.GetInstance().SetDefaultOpenState( m_Entity.GetType(), false );
82 super.Close();
83 SetOpenForSlotIcon(false);
84 OnHide();
85 m_Parent.m_Parent.Refresh(); //TODO: ???
86 }
override void OnHide()
Definition InventoryMenu.c:141
Widget m_Parent
Definition SizeToChild.c:92
Definition ItemManager.c:2
static ItemManager GetInstance()
Definition ItemManager.c:283

Перекрестные ссылки ItemManager::GetInstance(), m_Entity, m_Parent и OnHide().

Используется в LayoutHolder::Toggle().

◆ CloseButtonOnMouseButtonDown()

void CloseButtonOnMouseButtonDown ( )
inlineprotected
117 {
118 Close();
119 }
override void Close()
Definition ClosableContainer.c:79

Перекрестные ссылки ClosableContainer::Close().

◆ Combine()

override bool Combine ( )
inlineprotected
949 {
950 if (CanCombine())
951 {
952 if (GetFocusedIcon())
953 {
955 if( icon )
956 {
957 EntityAI item_in_hands = GetGame().GetPlayer().GetHumanInventory().GetEntityInHands();
958 EntityAI prev_item = EntityAI.Cast( icon.GetObject() );
959 if( item_in_hands && prev_item )
960 {
961 return icon.CombineItems( item_in_hands, prev_item );
962 }
963 }
964 }
965 }
966 return false;
967 }

Перекрестные ссылки GetFocusedIcon() и GetGame().

◆ EquipItem()

override bool EquipItem ( )
inlineprotected
852 {
853 if (CanEquip())
854 {
855 if (GetFocusedIcon())
856 {
858 if( entity )
859 {
860 GetGame().GetPlayer().PredictiveTakeEntityToInventory( FindInventoryLocationType.ATTACHMENT, entity );
861 return true;
862 }
863 }
864 }
865 return false;
866 }
FindInventoryLocationType
flags for searching locations in inventory
Definition InventoryLocation.c:17

Перекрестные ссылки GetFocusedIcon(), GetGame() и GetObject().

◆ Get()

override LayoutHolder Get ( int x)
inlineprotected
102 {
103 if( m_Body && x < m_Body.Count() && x >= 0 )
104 return m_Body.Get( x );
105 return null;
106 }
int Count()
Definition Container.c:302

Перекрестные ссылки LayoutHolder::Count() и x.

◆ GetAttachmentSlotID()

int GetAttachmentSlotID ( )
inlineprotected
990 {
991 return m_AttachmentSlotID;
992 }
int m_AttachmentSlotID
Definition CargoContainer.c:30

Перекрестные ссылки m_AttachmentSlotID.

◆ GetCargoCapacity()

int GetCargoCapacity ( )
inlineprotected
383 {
384 #ifdef PLATFORM_CONSOLE
385 #ifndef PLATFORM_WINDOWS
386 return CargoList.Cast( m_Cargo ).GetTotalWeight( null );
387 #endif
388 #endif
389 int total_size = 0;
390 for ( int i = 0; i < m_Cargo.GetItemCount(); ++i )
391 {
392 int x, y;
393 m_Cargo.GetItemSize( i, x, y );
394 total_size += x * y;
395 }
396 return total_size;
397 }
proto bool GetItemSize(int index, out int w, out int h)

Перекрестные ссылки CargoBase::GetItemCount(), CargoBase::GetItemSize(), x и y.

Используется в UpdateHeaderText().

◆ GetCargoIndex()

int GetCargoIndex ( )
inlineprotected
66{ return m_CargoIndex; }
int m_CargoIndex
Definition CargoContainer.c:7

Перекрестные ссылки m_CargoIndex.

◆ GetEntity()

EntityAI GetEntity ( )
inlineprotected
285 {
286 return m_Entity;
287 }

Перекрестные ссылки m_Entity.

◆ GetFocusedContainerHeight() [1/2]

override float GetFocusedContainerHeight ( bool contents = false)
inlineprotected
437 {
438 float x, y;
439 if( contents && GetFocusedIcon() )
440 GetFocusedIcon().GetRootWidget().GetScreenSize( x, y );
441 else
442 GetRootWidget().GetScreenSize( x, y );
443 return y;
444 }

Перекрестные ссылки GetFocusedIcon(), x и y.

Используется в LeftArea::GetCurrentContainerBottomY(), RightArea::GetCurrentContainerBottomY() и LayoutHolder::ScrollToActiveContainer().

◆ GetFocusedContainerHeight() [2/2]

override float GetFocusedContainerHeight ( bool contents = false)
inlineprotected
122 {
123 float x, y;
124 if( contents && GetFocusedContainer() )
125 y = GetFocusedContainer().GetFocusedContainerHeight( contents );
126 else if( GetRootWidget() )
127 GetRootWidget().GetScreenSize( x, y );
128 return y;
129 }
float GetFocusedContainerHeight(bool contents=false)
Definition Container.c:248

Перекрестные ссылки LayoutHolder::GetFocusedContainerHeight(), x и y.

◆ GetFocusedContainerYPos() [1/2]

override float GetFocusedContainerYPos ( bool contents = false)
inlineprotected
447 {
448 float x, y;
449 if( contents && GetFocusedIcon() )
450 GetFocusedIcon().GetRootWidget().GetPos( x, y );
451 else
452 GetRootWidget().GetPos( x, y );
453 return y;
454 }

Перекрестные ссылки GetFocusedIcon(), x и y.

◆ GetFocusedContainerYPos() [2/2]

override float GetFocusedContainerYPos ( bool contents = false)
inlineprotected
132 {
133 float x, y;
134 if( contents && GetFocusedContainer() )
135 y = GetFocusedContainer().GetFocusedContainerYPos( contents );
136 else if( GetRootWidget() )
137 GetRootWidget().GetPos( x, y );
138 return y;
139 }
float GetFocusedContainerYPos(bool contents=false)
Definition Container.c:269

Перекрестные ссылки LayoutHolder::GetFocusedContainerYPos(), x и y.

◆ GetFocusedContainerYScreenPos() [1/2]

override float GetFocusedContainerYScreenPos ( bool contents = false)
inlineprotected
457 {
458 float x, y;
459 if( contents && GetFocusedIcon() )
460 GetFocusedIcon().GetRootWidget().GetScreenPos( x, y );
461 else
462 GetRootWidget().GetScreenPos( x, y );
463 return y;
464 }

Перекрестные ссылки GetFocusedIcon(), x и y.

Используется в LeftArea::GetCurrentContainerBottomY(), RightArea::GetCurrentContainerBottomY(), LeftArea::GetCurrentContainerTopY(), RightArea::GetCurrentContainerTopY() и LayoutHolder::ScrollToActiveContainer().

◆ GetFocusedContainerYScreenPos() [2/2]

override float GetFocusedContainerYScreenPos ( bool contents = false)
inlineprotected
142 {
143 float x, y;
144 if( contents && GetFocusedContainer() )
145 y = GetFocusedContainer().GetFocusedContainerYScreenPos( contents );
146 else if( GetRootWidget() )
147 GetRootWidget().GetScreenPos( x, y );
148 return y;
149 }
float GetFocusedContainerYScreenPos(bool contents=false)
Definition Container.c:280

Перекрестные ссылки LayoutHolder::GetFocusedContainerYScreenPos(), x и y.

◆ GetFocusedIcon()

Icon GetFocusedIcon ( )
inlineprotected

◆ GetFocusedItem()

◆ GetHeader()

◆ GetIcon() [1/2]

Icon GetIcon ( EntityAI item)
inlineprotected
410 {
411 if ( item && m_ShowedItemPositions.Contains( item ) )
412 {
414 return data.param1;
415 }
416 return null;
417 }

◆ GetIcon() [2/2]

Icon GetIcon ( int index)
inlineprotected
420 {
421 if ( m_Cargo == null )
422 {
423 return null;
424 }
425
426 if ( index >= 0 && m_Cargo.GetItemCount() > index )
427 return GetIcon( m_Cargo.GetItem( index ) );
428 return null;
429 }

Перекрестные ссылки GetIcon(), CargoBase::GetItem() и CargoBase::GetItemCount().

◆ GetIconsCount()

int GetIconsCount ( )
inlineprotected
995 {
996 return m_Icons.Count();
997 }

◆ GetIconSize()

float GetIconSize ( )
inlineprotected
373 {
374 return m_IconSize;
375 }
float m_IconSize
Definition CargoContainer.c:15

Перекрестные ссылки m_IconSize.

◆ GetMaxCargoCapacity()

int GetMaxCargoCapacity ( )
inlineprotected
400 {
401 #ifdef PLATFORM_CONSOLE
402 #ifndef PLATFORM_WINDOWS
403 return CargoList.Cast( m_Cargo ).GetMaxWeight();
404 #endif
405 #endif
406 return m_Cargo.GetWidth() * m_Cargo.GetHeight();
407 }
proto native int GetHeight()
proto native int GetWidth()

Перекрестные ссылки CargoBase::GetHeight() и CargoBase::GetWidth().

Используется в UpdateHeaderText().

◆ GetRecipeCount()

int GetRecipeCount ( bool recipe_anywhere,
ItemBase entity1,
ItemBase entity2,
PlayerBase player )
inlineprotected
790 {
791 PluginRecipesManager recipes_manager = PluginRecipesManager.Cast( GetPlugin( PluginRecipesManager ) );
792 return recipes_manager.GetValidRecipes( entity1, entity2, null, player );
793 }
PluginBase GetPlugin(typename plugin_type)
Definition PluginManager.c:316

Перекрестные ссылки GetPlugin().

◆ GetSpaceSize()

float GetSpaceSize ( )
inlineprotected
378 {
379 return m_SpaceSize;
380 }
float m_SpaceSize
Definition CargoContainer.c:16

Перекрестные ссылки m_SpaceSize.

◆ HasItem()

bool HasItem ( EntityAI item)
inlineprotected
576 {
577 return m_ShowedItemPositions.Contains( item );
578 }

◆ InitGridHeight()

void InitGridHeight ( )
inlineprotected
320 {
321 m_Rows.Clear();
322 m_ShowedItemPositions.Clear();
323
325
326 #ifdef PLATFORM_CONSOLE
327 int cargo_height = 1;
328 #else
329 int cargo_height = m_Entity.GetInventory().GetCargoFromIndex(m_CargoIndex).GetHeight();
330 #endif
331
332 for ( int j = 0; j < cargo_height; j++ )
333 {
334 row = new CargoContainerRow( this );
335
336 row.SetNumber( j );
337 row.SetEntity( m_Entity );
338
339 #ifdef PLATFORM_WINDOWS
340 #ifndef PLATFORM_CONSOLE
341 row.SetWidth( m_Entity.GetInventory().GetCargoFromIndex(m_CargoIndex).GetWidth(), false );
342 #endif
343 #endif
344
345 row.GetRootWidget().SetSort( j, false );
346 m_Rows.Insert( row );
347 }
348
349 float y;
350 row.GetRootWidget().FindAnyWidget( "Icon0" ).GetScreenSize( y, m_IconSize );
351 #ifdef PLATFORM_WINDOWS
352 #ifndef PLATFORM_CONSOLE
353 row.GetRootWidget().FindAnyWidget( "Spacer0" ).GetScreenSize( m_SpaceSize, y );
354 #endif
355 #endif
356
357 m_Resizer2.ResizeParentToChild();
358#ifndef PLATFORM_CONSOLE
359 m_Resizer1.ResizeParentToChild();
360#endif
361 }
Definition CargoContainerRow.c:2

Перекрестные ссылки m_Entity и y.

Используется в SetEntity().

◆ InitIcon()

Icon InitIcon ( Icon icon,
EntityAI item,
int pos_x,
int pos_y )
inlineprotected
571 {
572 return InitIconEx( icon, item, pos_x, pos_y );
573 }

Перекрестные ссылки InitIconEx().

◆ InitIconEx()

Icon InitIconEx ( Icon icon,
EntityAI item,
int pos_x,
int pos_y,
bool refresh = true )
inlineprotected
544 {
545 #ifdef PLATFORM_CONSOLE
546 icon.SetSize( 1, 1 );
547 #ifdef PLATFORM_WINDOWS
548 pos_y = pos_y * 5 + pos_x;
549 #endif
550 icon.SetCargoPos( pos_y );
551 icon.SetPosY( pos_y );
552 icon.SetPosEx( refresh );
553 #else
554 int size_x, size_y;
555 GetGame().GetInventoryItemSize( InventoryItem.Cast( item ), size_x, size_y );
556
557 if ( item.GetInventory().GetFlipCargo() )
558 icon.SetSize( size_y, size_x );
559 else
560 icon.SetSize( size_x, size_y );
561
562 icon.SetPosX( pos_x );
563 icon.SetPosY( pos_y );
564 icon.SetPosEx( refresh );
565 #endif
566 icon.InitEx( item, refresh );
567 return icon;
568 }
Definition ItemBase.c:15

Перекрестные ссылки GetGame().

Используется в AddedToCargoEx() и InitIcon().

◆ IsDisplayable()

override bool IsDisplayable ( )
inlineprotected
18 {
19 for(int i = 0; i < m_Body.Count(); i++)
20 {
21 LayoutHolder c = m_Body[i];
22 if( c && c.IsDisplayable())
23 return true;
24 }
25 return false;
26 }
Definition Container.c:2

◆ IsEmpty()

override bool IsEmpty ( )
inlineprotected

◆ IsItemActive()

override bool IsItemActive ( )
inlineprotected
765 {
766 if( GetFocusedIcon() )
767 {
769 return ( item != null );
770 }
771 return false;
772 }

Перекрестные ссылки GetFocusedIcon() и GetObject().

◆ IsItemWithQuantityActive()

override bool IsItemWithQuantityActive ( )
inlineprotected
775 {
776 if( GetFocusedIcon() )
777 {
779 return ( !IsEmpty() && QuantityConversions.HasItemQuantity( item ) && item.CanBeSplit() );
780 }
781 return false;
782 }
override bool IsEmpty()
Definition CargoContainer.c:784
Definition QuantityConversions.c:2
static int HasItemQuantity(notnull EntityAI item)
Definition QuantityConversions.c:143

Перекрестные ссылки GetFocusedIcon(), GetObject(), QuantityConversions::HasItemQuantity() и IsEmpty().

◆ MoveContainerDown()

void MoveContainerDown ( Widget cont)
inlineprotected
167 {
168 if( m_Entity )
169 {
171 m_Entity.GetInventory().GetCurrentInventoryLocation( loc );
172 if( loc.IsValid() )
173 {
174 int slot = loc.GetSlot();
175 Inventory.MoveAttachmentDown( slot );
176 UpdateSelectionIcons();
177 }
178 }
179 }
void Inventory(LayoutHolder parent)
Definition Inventory.c:76

Перекрестные ссылки Inventory() и m_Entity.

◆ MoveContainerUp()

void MoveContainerUp ( Widget cont)
inlineprotected
152 {
153 if( m_Entity )
154 {
156 m_Entity.GetInventory().GetCurrentInventoryLocation( loc );
157 if( loc.IsValid() )
158 {
159 int slot = loc.GetSlot();
160 Inventory.MoveAttachmentUp( slot );
161 UpdateSelectionIcons();
162 }
163 }
164 }

Перекрестные ссылки Inventory() и m_Entity.

◆ MovedInCargo()

void MovedInCargo ( EntityAI item)
inlineprotected
147 {
149 item.GetInventory().GetCurrentInventoryLocation( il );
150
151 int x = il.GetCol();
152 #ifdef PLATFORM_CONSOLE
153 int y = il.GetRow() - 1;
154 #else
155 int y = il.GetRow();
156 #endif
157 if( m_ShowedItemPositions.Contains( item ) )
158 {
160 if( data.param1 )
161 {
162 if( data.param2 != x || data.param3 != y )
163 {
164 data.param2 = x;
165 data.param3 = y;
166 #ifdef PLATFORM_CONSOLE
167 data.param1.SetCargoPos( data.param3 );
168 #endif
169 #ifdef PLATFORM_WINDOWS
170 data.param1.SetPosX( data.param2 );
171 data.param1.SetPosY( data.param3 );
172 #endif
173 }
174 data.param1.UpdateInterval();
175 }
176 }
178 }
void UpdateSelection()
Definition CargoContainer.c:466

Перекрестные ссылки UpdateSelection(), x и y.

◆ OnShow()

override void OnShow ( )
inlineprotected
94 {
95 if( IsOpened() )
96 {
97 super.OnShow();
98 }
99 }
bool IsOpened()
Definition BaseBuildingBase.c:1577

Перекрестные ссылки ClosableContainer::IsOpened().

◆ Open()

override void Open ( )
inlineprotected
68 {
69 if( IsDisplayable() )
70 {
71 super.Open();
72 ItemManager.GetInstance().SetDefaultOpenState( m_Entity.GetType(), true );
73 SetOpenForSlotIcon(true);
74 OnShow();
75 m_Parent.m_Parent.Refresh();
76 }
77 }
override void OnShow()
Definition ClosableContainer.c:93
override bool IsDisplayable()
Definition ClosableContainer.c:17

Перекрестные ссылки ItemManager::GetInstance(), ClosableContainer::IsDisplayable(), m_Entity, m_Parent и OnShow().

Используется в LayoutHolder::Toggle().

◆ Refresh() [1/2]

override void Refresh ( )
inlineprotected
516 {
517 #ifdef PLATFORM_CONSOLE
518 if ( !m_ResizeTimer )
519 m_ResizeTimer = new Timer();
520 if ( m_ResizeTimer.IsRunning() )
521 m_ResizeTimer.Stop();
522 m_ResizeTimer.Run( 0.05, this, "RefreshImpl" );
523 #endif
524 }
ref Timer m_ResizeTimer
Definition CargoContainer.c:28
Definition DayZPlayerImplement.c:63

Используется в AddedToCargoEx(), LayoutHolder::Insert(), LayoutHolder::Remove(), RemovedFromCargo() и SetEntity().

◆ Refresh() [2/2]

override void Refresh ( )
inlineprotected
109 {
110 if( !m_Closed )
111 {
112 super.Refresh();
113 }
114 }

◆ RefreshImpl()

void RefreshImpl ( )
inlineprotected
527 {
530 }
void UpdateRowVisibility(int count)
Definition CargoContainer.c:481

Перекрестные ссылки UpdateRowVisibility() и UpdateSelection().

◆ ReleaseLock()

void ReleaseLock ( EntityAI item)
inlineprotected
202 {
203 #ifndef PLATFORM_CONSOLE
204 if( m_ShowedLockPositions.Contains( item ) )
205 {
206 Icon ic = m_ShowedLockPositions.Get( item ).param1;
207 m_Icons.RemoveItem( ic );
208 m_ShowedLockPositions.Remove( item );
209 item.GetOnReleaseLock().Remove( ReleaseLock );
210 }
211 #endif
212 }

◆ RemovedFromCargo()

void RemovedFromCargo ( EntityAI item)
inlineprotected
118 {
120 if( data )
121 {
122 m_Icons.RemoveItem( data.param1 );
123 m_ShowedItemPositions.Remove( item );
124 }
125
127
128 #ifdef PLATFORM_CONSOLE
129 for( int i = 0; i < m_Cargo.GetItemCount(); i++ )
130 {
133 if( data && data.param1 )
134 {
135 data.param1.SetCargoPos( i );
136 data.param1.SetPos();
137 }
138 }
139
141
142 Refresh();
143 #endif
144 }

Перекрестные ссылки CargoBase::GetItem(), CargoBase::GetItemCount(), Math::Min(), Refresh() и UpdateHeaderText().

◆ Select()

override bool Select ( )
inlineprotected
884 {
886 EntityAI selected_item = ItemManager.GetInstance().GetSelectedItem();
887 DayZPlayer player = GetGame().GetPlayer();
888
889
891 {
892 if( selected_item )
893 {
894 if( selected_item.GetInventory().CanRemoveEntity() && m_Entity )
895 {
896 bool can_add = m_Entity.GetInventory().CanAddEntityInCargo( selected_item, selected_item.GetInventory().GetFlipCargo());
897 bool in_cargo = !player.GetInventory().HasEntityInInventory( selected_item ) || !m_Entity.GetInventory().HasEntityInCargo( selected_item );
898 if( can_add && in_cargo )
899 {
900 player.PredictiveTakeEntityToTargetCargo( m_Entity, selected_item );
901 Container selected_cont2 = ItemManager.GetInstance().GetSelectedContainer();
902 if( selected_cont2 )
903 {
904 selected_cont2.SetActive( false );
905 }
906
907 SetActive( true );
909 return true;
910 }
911 else
912 {
913 Container selected_cont = ItemManager.GetInstance().GetSelectedContainer();
914 if( selected_cont )
915 {
916 selected_cont.SetActive( false );
917 }
918
919 SetActive( true );
920 SetDefaultFocus( true );
921 }
922 }
923 }
924 else if ( focused_item && focused_item.GetInventory().CanRemoveEntity() )
925 {
926 EntityAI item_in_hands = GetGame().GetPlayer().GetHumanInventory().GetEntityInHands();
927 if( item_in_hands )
928 {
930 {
931 player.PredictiveSwapEntities( item_in_hands, focused_item );
932 return true;
933 }
934 }
935 else
936 {
937 if( player.GetHumanInventory().CanAddEntityInHands( focused_item ) )
938 {
939 player.PredictiveTakeEntityToHands( focused_item );
940 return true;
941 }
942 }
943 }
944 }
945 return false;
946 }
void SetActive()
Definition TrapBase.c:419
Definition CargoContainer.c:3
override void SetDefaultFocus(bool while_micromanagment_mode=false)
Definition CargoContainer.c:601
override EntityAI GetFocusedItem()
Definition CargoContainer.c:722
Definition DayZPlayerImplement.c:111
script counterpart to engine's class Inventory
Definition Inventory.c:79
static bool CanSwapEntitiesEx(notnull EntityAI item1, notnull EntityAI item2)
Definition Inventory.c:628

Перекрестные ссылки GameInventory::CanSwapEntitiesEx(), GetFocusedItem(), GetGame(), ItemManager::GetInstance(), m_Entity, SetActive() и SetDefaultFocus().

Используется в HandsContainer::OnSelectButton().

◆ SelectItem()

override bool SelectItem ( )
inlineprotected
869 {
871 if (focused_item)
872 {
873 ItemBase item = ItemBase.Cast(focused_item.GetObject());
874 if (item && item.IsTakeable() && item.CanPutIntoHands(null))
875 {
876 ItemManager.GetInstance().SetSelectedItemEx(item, this, focused_item);
877 return true;
878 }
879 }
880 return false;
881 }

Перекрестные ссылки GetFocusedIcon() и ItemManager::GetInstance().

◆ SetActive()

override void SetActive ( bool active)
inlineprotected
759 {
760 super.SetActive( active );
762 }

Перекрестные ссылки UpdateSelection().

◆ SetAlternateFalseTextHeaderWidget()

void SetAlternateFalseTextHeaderWidget ( TextWidget w)
inlineprotected
975 {
978 if (update)
979 {
981 }
982 }
TextWidget m_AlternateFalseHeaderTextWidget
Definition CargoContainer.c:20

Перекрестные ссылки m_AlternateFalseHeaderTextWidget и UpdateHeaderText().

◆ SetAttachmentSlotID()

void SetAttachmentSlotID ( int slotID)
inlineprotected
985 {
987 }

◆ SetDefaultFocus()

override void SetDefaultFocus ( bool while_micromanagment_mode = false)
inlineprotected
602 {
603 super.SetDefaultFocus(while_micromanagment_mode);
604
605 Unfocus();
608 }
override void Unfocus()
Definition CargoContainer.c:615

Перекрестные ссылки Unfocus() и UpdateSelection().

Используется в Select(), LayoutHolder::SetActive(), LayoutHolder::SetFirstActive() и SetLastFocus().

◆ SetEntity()

void SetEntity ( EntityAI item,
int cargo_index = 0,
bool immedUpdate = true )
inlineprotected
242 {
243 if ( item )
244 {
245 m_Entity = item;
246 m_Cargo = item.GetInventory().GetCargoFromIndex(cargo_index);
248
249 m_Entity.GetOnItemAddedIntoCargo().Insert( AddedToCargo );
250 m_Entity.GetOnItemRemovedFromCargo().Insert( RemovedFromCargo );
251 m_Entity.GetOnItemMovedInCargo().Insert( MovedInCargo );
252 m_Entity.GetOnSetLock().Insert( SetLock );
253 m_Entity.GetOnReleaseLock().Insert( ReleaseLock );
254
255 if (immedUpdate)
257
259 m_MainWidget = m_ItemsContainer;
260
261 if ( m_Cargo )
262 {
263 int i;
264 int prev_count = m_ShowedItemPositions.Count();
265
266 //START - Add new item Icons
267 for ( i = 0; i < m_Cargo.GetItemCount(); i++ )
268 {
270 if ( cargo_item )
271 {
273 }
274 }
275
276 #ifdef PLATFORM_CONSOLE
277 if (immedUpdate)
278 Refresh();
279 #endif
280 }
281 }
282 }
void InitGridHeight()
Definition CargoContainer.c:319

Перекрестные ссылки AddedToCargoEx(), CargoBase::GetItem(), CargoBase::GetItemCount(), InitGridHeight(), m_Entity, m_ItemsContainer, Refresh(), SetLock() и UpdateHeaderText().

◆ SetLastActive()

override void SetLastActive ( )
inlineprotected
734 {
735 super.SetLastActive();
736 if( GetFocusedIcon() )
737 {
738 GetFocusedIcon().SetActive( false );
739 }
740
741 int focusedIconCount = m_Icons.Count();
742 int columCount = m_Icons.Count() / ROWS_NUMBER_XBOX;
744 {
747 if (diff == 0)
750 }
751 else
752 {
754 }
756 }
const int ROWS_NUMBER_XBOX
Definition CargoContainer.c:4
override void SetActive(bool active)
Definition Icon.c:103

Перекрестные ссылки GetFocusedIcon(), ROWS_NUMBER_XBOX, Icon::SetActive() и UpdateSelection().

Используется в AttachmentsGroupContainer::SetPreviousActive(), LayoutHolder::SetPreviousActive() и LayoutHolder::SetSameLevelPreviousActive().

◆ SetLastFocus()

override void SetLastFocus ( )
inlineprotected
611 {
613 }

Перекрестные ссылки SetDefaultFocus().

Используется в LayoutHolder::SetLastActive().

◆ SetLayoutName() [1/2]

override void SetLayoutName ( )
inlineprotected
215 {
216 #ifdef PLATFORM_CONSOLE
218 #else
219 switch( InventoryMenu.GetWidthType() )
220 {
221 case ScreenWidthType.NARROW:
222 {
224 break;
225 }
226 case ScreenWidthType.MEDIUM:
227 {
229 break;
230 }
231 case ScreenWidthType.WIDE:
232 {
234 break;
235 }
236 }
237 #endif
238
239 }
ScreenWidthType
Definition InventoryMenu.c:2
void InventoryMenu()
Definition InventoryMenu.c:20
Definition WidgetLayoutName.c:2
const string CargoContainerWide
Definition WidgetLayoutName.c:20
const string CargoContainerXbox
Definition WidgetLayoutName.c:21
const string CargoContainerNarrow
Definition WidgetLayoutName.c:18
const string CargoContainerMedium
Definition WidgetLayoutName.c:19

Перекрестные ссылки WidgetLayoutName::CargoContainerMedium, WidgetLayoutName::CargoContainerNarrow, WidgetLayoutName::CargoContainerWide, WidgetLayoutName::CargoContainerXbox и InventoryMenu().

◆ SetLayoutName() [2/2]

override void SetLayoutName ( )
inlineprotected
89 {
91 }
const string ClosableContainer
Definition WidgetLayoutName.c:49

Перекрестные ссылки WidgetLayoutName::ClosableContainer.

◆ SetLock()

void SetLock ( EntityAI item)
inlineprotected
181 {
182 #ifndef PLATFORM_CONSOLE
183 if( GetGame().GetPlayer() )
184 {
186 int index = GetGame().GetPlayer().GetHumanInventory().FindUserReservedLocationIndex( item );
187 if( index >= 0 )
188 {
189 GetGame().GetPlayer().GetHumanInventory().GetUserReservedLocation( index, il );
190
191 ref Icon icon = new Icon( this, false );
192 m_Icons.Insert( icon );
193 icon.InitLock( m_Entity, item, il.GetCol(), il.GetRow(), il.GetFlip() );
195 item.GetOnReleaseLock().Insert( ReleaseLock );
196 }
197 }
198 #endif
199 }

Перекрестные ссылки GetGame(), GetPlayer() и m_Entity.

◆ SetNextActive()

override void SetNextActive ( )
inlineprotected
637 {
638 Unfocus();
640 int max_row = ( m_Icons.Count() - 1) / ROWS_NUMBER_XBOX;
641
642 if ( max_row > focused_row )
643 {
645 if ( m_FocusedItemPosition >= m_Icons.Count() )
646 {
647 m_FocusedItemPosition = m_Icons.Count() - 1;
648 }
650 }
651 else
652 {
653 SetActive(false);
654 }
655 }

Перекрестные ссылки ROWS_NUMBER_XBOX, SetActive(), Unfocus() и UpdateSelection().

Используется в LayoutHolder::MoveGridCursor().

◆ SetNextLeftActive()

override void SetNextLeftActive ( )
inlineprotected
699 {
700 if ( m_Icons.Count() > 0)
701 {
702 Unfocus();
705 int row_max = row_min + ROWS_NUMBER_XBOX - 1;
706
707 if ( row_max >= m_Icons.Count() )
708 {
709 row_max = m_Icons.Count() - 1;
710 }
711
714 {
716 }
717
719 }
720 }

Перекрестные ссылки ROWS_NUMBER_XBOX, Unfocus() и UpdateSelection().

Используется в LayoutHolder::MoveGridCursor().

◆ SetNextRightActive()

override void SetNextRightActive ( )
inlineprotected
675 {
676 if ( m_Icons.Count() > 0)
677 {
678 Unfocus();
681 int row_max = row_min + ROWS_NUMBER_XBOX - 1;
682
683 if ( row_max >= m_Icons.Count() )
684 {
685 row_max = m_Icons.Count() - 1;
686 }
687
690 {
692 }
693
695 }
696 }

Перекрестные ссылки ROWS_NUMBER_XBOX, Unfocus() и UpdateSelection().

Используется в LayoutHolder::MoveGridCursor().

◆ SetOpenState()

void SetOpenState ( bool state)
inlineprotected
49 {
50 ItemManager.GetInstance().SetDefaultOpenState( m_Entity.GetType(), state );
51 m_Closed = !state;
52 if( !m_Closed )
53 {
54 OnShow();
55 }
56 else
57 {
58 OnHide();
59 }
60 }

Перекрестные ссылки ItemManager::GetInstance(), m_Entity, OnHide() и OnShow().

◆ SetPreviousActive()

override void SetPreviousActive ( bool force = false)
inlineprotected
658 {
659 Unfocus();
661
662 if ( focused_row > 0 )
663 {
666 }
667 else
668 {
669 SetActive(false);
670 }
671 }

Перекрестные ссылки ROWS_NUMBER_XBOX, SetActive(), Unfocus() и UpdateSelection().

Используется в LayoutHolder::MoveGridCursor() и LayoutHolder::Remove().

◆ ShowFalseCargoHeader()

void ShowFalseCargoHeader ( bool show)
inlineprotected
970 {
971 m_CargoHeader.Show(show);
972 }

◆ SplitItem()

override bool SplitItem ( )
inlineprotected
827 {
828 if (CanSplit())
829 {
830 if ( GetFocusedIcon() )
831 {
833 if ( entity )
834 {
835 if ( entity.HasQuantity() && entity.CanBeSplit() )
836 {
837 entity.OnRightClick();
838 Icon icon = m_ShowedItemPositions.Get( entity ).param1;
839
840 if ( icon )
841 {
842 icon.SetQuantity();
843 }
844 }
845 }
846 }
847 }
848 return false;
849 }

Перекрестные ссылки GetFocusedIcon() и GetObject().

◆ TransferItem()

override bool TransferItem ( )
inlineprotected
810 {
811 if (CanTakeToInventory())
812 {
813 if (GetFocusedIcon())
814 {
816 if (entity)
817 {
818 GetGame().GetPlayer().PredictiveTakeEntityToInventory( FindInventoryLocationType.CARGO, entity );
819 return true;
820 }
821 }
822 }
823 return false;
824 }

Перекрестные ссылки GetFocusedIcon(), GetGame() и GetObject().

◆ TransferItemToVicinity()

override bool TransferItemToVicinity ( )
inlineprotected
581 {
582 if (CanDrop())
583 {
584 Man player = GetGame().GetPlayer();
585 if( GetFocusedIcon() )
586 {
588 if( item && player.CanDropEntity( item ) )
589 {
590 if( item.GetTargetQuantityMax() < item.GetQuantity() )
591 item.SplitIntoStackMaxClient( null, -1 );
592 else
593 player.PhysicalPredictiveDropItem( item );
594 return true;
595 }
596 }
597 }
598 return false;
599 }

Перекрестные ссылки GetFocusedIcon(), GetGame() и GetObject().

◆ Unfocus()

override void Unfocus ( )
inlineprotected
616 {
618 if ( icon )
619 {
620 icon.SetActive( false );
621 }
622 }

Перекрестные ссылки GetFocusedIcon().

Используется в LayoutHolder::SetActive(), SetDefaultFocus(), SetNextActive(), SetNextLeftActive(), SetNextRightActive() и SetPreviousActive().

◆ UnfocusAll()

override void UnfocusAll ( )
inlineprotected
625 {
626 if( m_Icons )
627 {
628 foreach( Icon icon : m_Icons )
629 {
630 icon.SetActive( false );
631 }
632 }
634 }

Перекрестные ссылки m_Icons.

◆ UpdateHeaderText()

void UpdateHeaderText ( )
inlineprotected
290 {
292 string name = m_Entity.GetDisplayName();
293 name.ToUpper();
294
295 if ( m_Entity.CanDisplayCargo() && m_Entity.GetInventory().GetCargoFromIndex(m_CargoIndex) )
296 {
297 name = name + " (" + GetCargoCapacity().ToString() + "/" + GetMaxCargoCapacity() + ")";
299 {
301 float x, y;
303 m_FalseHeaderTextWidget.GetScreenSize( x, y );
304 m_CargoHeader.FindAnyWidget( "grid_container_header" ).SetSize( 1, y + InventoryMenu.GetHeightMultiplied( 10 ) );
305 m_CargoHeader.Update();
306
308 {
310 }
311 return;
312 }
313 }
314
315 if ( Container.Cast( GetParent() ) && Container.Cast( GetParent() ).GetHeader() )
316 Container.Cast( GetParent() ).GetHeader().SetName(name);
317 }
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
int GetMaxCargoCapacity()
Definition CargoContainer.c:399
override Header GetHeader()
Definition ClosableContainer.c:62
int GetCargoCapacity()
Definition CargoContainer.c:382
proto native Widget GetParent()
Get parent of the Effect.
Definition Effect.c:407

Перекрестные ссылки GetCargoCapacity(), GetHeader(), GetMaxCargoCapacity(), GetParent(), InventoryMenu(), m_Entity, name, x и y.

Используется в AddedToCargoEx(), RemovedFromCargo(), SetAlternateFalseTextHeaderWidget() и SetEntity().

◆ UpdateInterval()

override void UpdateInterval ( )
inlineprotected
533 {
535 {
536 if( data.param1 )
537 {
538 data.param1.UpdateInterval();
539 }
540 }
541 }

Перекрестные ссылки m_ShowedItemPositions.

◆ UpdateRadialIcon()

override void UpdateRadialIcon ( )
inlineprotected
29 {
30 if ( m_SlotIcon )
31 {
34 show_radial_icon = show_radial_icon && ( ( m_Entity.GetInventory().GetCargo() && m_Entity.CanDisplayCargo()) || m_Entity.GetSlotsCountCorrect() > 0 );
35 show_radial_icon = show_radial_icon && !m_Entity.GetInventory().IsInventoryLockedForLockType( HIDE_INV_FROM_SCRIPT );
36 if ( IsDisplayable() )
37 {
38 m_SlotIcon.GetRadialIconPanel().Show( true );
39 SetOpenForSlotIcon(show_radial_icon);
40 }
41 else
42 {
43 m_SlotIcon.GetRadialIconPanel().Show( false );
44 }
45 }
46 }

Перекрестные ссылки ClosableContainer::IsDisplayable(), ClosableContainer::IsOpened() и m_Entity.

Используется в Attachments::UpdateInterval().

◆ UpdateRowVisibility()

void UpdateRowVisibility ( int count)
inlineprotected
482 {
483 int i;
484 int rows = Math.Max( 1, Math.Ceil( (count + 1) / ROWS_NUMBER_XBOX ) );
485 int diff = rows - m_Rows.Count();
486
487 if( diff < 0 )
488 {
489 for( i = m_Rows.Count() - 1; i >= rows; i-- )
490 {
491 m_Rows.Remove( i );
492 }
493 }
494 else if( diff > 0 )
495 {
496 m_MainWidget = m_CargoContainer;
497 for( i = m_Rows.Count(); i < rows; i++ )
498 {
500
501 row.SetNumber( i );
502 row.SetEntity( m_Entity );
503 row.GetRootWidget().SetSort( i );
504 m_Rows.Insert( row );
505 }
506 m_MainWidget = m_ItemsContainer;
507 }
508
509 m_Resizer2.ResizeParentToChild();
510#ifndef PLATFORM_CONSOLE
511 m_Resizer1.ResizeParentToChild();
512#endif
513 }
static proto float Max(float x, float y)
Returns bigger of two given values.
static proto float Ceil(float f)
Returns ceil of value.

Перекрестные ссылки Math::Ceil(), m_CargoContainer, m_Entity, m_ItemsContainer и Math::Max().

Используется в RefreshImpl().

◆ UpdateSelection()

void UpdateSelection ( )
inlineprotected
467 {
468 if( m_IsActive )
469 {
470 if( m_FocusedItemPosition >= m_Icons.Count() )
471 m_FocusedItemPosition = m_Icons.Count() - 1;
473 if( icon && !icon.IsActive() )
474 {
475 icon.SetActive( true );
476 Inventory.GetInstance().UpdateConsoleToolbar();
477 }
478 }
479 }
bool m_IsActive
Definition ModifierBase.c:19

Перекрестные ссылки GetIcon(), Inventory() и m_IsActive.

Используется в MovedInCargo(), RefreshImpl(), SetActive(), SetDefaultFocus(), SetLastActive(), SetNextActive(), SetNextLeftActive(), SetNextRightActive() и SetPreviousActive().

◆ UpdateSize()

void UpdateSize ( )
inlineprotected
364 {
365#ifndef PLATFORM_CONSOLE
366 m_Resizer1.ResizeParentToChild();
367#else
368 m_Resizer2.ResizeParentToChild();
369#endif
370 }

Поля

◆ m_AlternateFalseHeaderTextWidget

TextWidget m_AlternateFalseHeaderTextWidget
protected

Используется в SetAlternateFalseTextHeaderWidget().

◆ m_AttachmentSlotID

int m_AttachmentSlotID = -1
protected

Используется в GetAttachmentSlotID().

◆ m_Cargo

CargoBase m_Cargo
protected

◆ m_CargoContainer

Widget m_CargoContainer
protected

Используется в CargoContainer() и UpdateRowVisibility().

◆ m_CargoHeader

Widget m_CargoHeader
protected

◆ m_CargoIndex

int m_CargoIndex = -1
protected

Используется в GetCargoIndex().

◆ m_ClosableHeader

ref ClosableHeader m_ClosableHeader
protected

◆ m_FalseHeaderTextWidget

TextWidget m_FalseHeaderTextWidget
protected

◆ m_FocusedItemPosition

int m_FocusedItemPosition = -1
protected

◆ m_Icons

ref array<ref Icon> m_Icons
protected

Используется в UnfocusAll().

◆ m_IconSize

float m_IconSize
protected

Используется в GetIconSize().

◆ m_IsAttachment

bool m_IsAttachment
protected

◆ m_ItemsContainer

Widget m_ItemsContainer
protected

Используется в SetEntity() и UpdateRowVisibility().

◆ m_LockCargo

bool m_LockCargo
protected

◆ m_Resizer1

ref SizeToChild m_Resizer1
protected

◆ m_Resizer2

ref SizeToChild m_Resizer2
protected

◆ m_ResizeTimer

ref Timer m_ResizeTimer
protected

◆ m_Rows

ref array<ref CargoContainerRow> m_Rows
protected

◆ m_ShowedItemPositions

ref map<EntityAI, ref Param3<ref Icon, int, int> > m_ShowedItemPositions
protected

Используется в UpdateInterval().

◆ m_ShowedLockPositions

ref map<EntityAI, ref Param3<ref Icon, int, int> > m_ShowedLockPositions
protected

◆ m_SpaceSize

float m_SpaceSize
protected

Используется в GetSpaceSize().

◆ ROWS_NUMBER_XBOX

const int ROWS_NUMBER_XBOX = 5
protected

Объявления и описания членов классов находятся в файлах: