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

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

void SlotsContainer (LayoutHolder parent, EntityAI slot_parent)
 
override void SetDefaultFocus (bool while_micromanagment_mode=false)
 
override void SetLastFocus ()
 
void SetFocus (int index)
 
void SetVisibleFocus (int index)
 
int GetVisibleFocus ()
 
override void SetNextRightActive ()
 
override void SetNextLeftActive ()
 
void UpdateIcon ()
 
override void UnfocusAll ()
 
override void Unfocus ()
 
override bool SelectItem ()
 
override bool IsEmpty ()
 
override bool IsDisplayable ()
 
SlotsIcon GetSlotIcon (int index)
 
override SlotsIcon GetFocusedSlotsIcon ()
 
override EntityAI GetFocusedItem ()
 
override void SetLayoutName ()
 
bool VerifySlotsIconVisibility (int idx=-1)
 Returns 'true' if radial icon is VISIBLE and also OPEN (individual icon or any icon, use parameter..)
 

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

ref array< ref SlotsIconm_Icons
 
int m_VisibleColumnCount
 

Дополнительные унаследованные члены

- Закрытые члены унаследованные от 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 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 ()
 
- Закрытые данные унаследованные от Container
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
 
ref ClosableHeader m_ClosableHeader
 
bool m_LockCargo
 

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

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

◆ SlotsContainer()

void SlotsContainer ( LayoutHolder parent,
EntityAI slot_parent )
inlineprotected
7 {
9 for ( int i = 0; i < ITEMS_IN_ROW; i++ )
10 {
11 if ( GetRootWidget().FindAnyWidget( "Icon" + i ) )
12 m_Icons.Insert( new SlotsIcon( this, GetRootWidget().FindAnyWidget( "Icon" + i ), i , slot_parent) );
13 else
14 {
15 Widget child = GetRootWidget().GetChildren();
16 while ( child )
17 {
18 child = child.GetSibling();
19 }
20 }
21 }
22 }
const int ITEMS_IN_ROW
Definition Attachments.c:1
Definition EntityAI.c:95
ref array< ref SlotsIcon > m_Icons
Definition SlotsContainer.c:3
Definition SlotsIcon.c:2
Definition EnWidgets.c:190
proto native Widget FindAnyWidget(string pathname)

Перекрестные ссылки FindAnyWidget(), ITEMS_IN_ROW и m_Icons.

Методы

◆ GetFocusedItem()

override EntityAI GetFocusedItem ( )
inlineprotected
227 {
229
230 if(focus_icon && !focus_icon.IsReserved())
231 {
232 return EntityAI.Cast(focus_icon.GetObject());
233 }
234
235 return null;
236 }
Definition Building.c:6
override SlotsIcon GetFocusedSlotsIcon()
Definition SlotsContainer.c:217

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

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

◆ GetFocusedSlotsIcon()

override SlotsIcon GetFocusedSlotsIcon ( )
inlineprotected
218 {
219 if (m_Icons.Count())
220 {
221 return m_Icons.Get(m_FocusedColumn);
222 }
223 return null;
224 }

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

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

◆ GetSlotIcon()

SlotsIcon GetSlotIcon ( int index)
inlineprotected
208 {
209 if ( m_Icons.IsValidIndex( index ) )
210 {
211 return m_Icons.Get( index );
212 }
213
214 return null;
215 }

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

Используется в ZombieContainer::GetSlotsIcon(), Attachments::InitAttachmentGrid(), IsDisplayable() и UpdateIcon().

◆ GetVisibleFocus()

int GetVisibleFocus ( )
inlineprotected
76 {
77 int visible_icons_count = 0;
78 for (int i = 0; i < GetColumnCount(); i++)
79 {
80 if (m_FocusedColumn == i)
81 {
83 }
85 if (icon.IsVisible())
86 {
88 }
89 }
90 return visible_icons_count - 1;
91 }

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

◆ IsDisplayable()

override bool IsDisplayable ( )
inlineprotected
194 {
195 if (m_ForcedShow)
196 return true;
197 for (int i = 0; i < m_ColumnCount; i++)
198 {
199 if ( GetSlotIcon(i).IsVisible() )
200 {
201 return true;
202 }
203 }
204 return false;
205 }
SlotsIcon GetSlotIcon(int index)
Definition SlotsContainer.c:207
proto native bool IsVisible()

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

◆ IsEmpty()

override bool IsEmpty ( )
inlineprotected
189 {
190 return false;
191 }

◆ SelectItem()

override bool SelectItem ( )
inlineprotected
176 {
179
180 if( item && !item.IsLockedInSlot() && !icon.IsOutOfReach() && !icon.IsReserved() && item.IsTakeable() && item.CanPutIntoHands(null))
181 {
182 ItemManager.GetInstance().SetSelectedItemEx(item, null, icon);
183 return true;
184 }
185 return false;
186 }
Definition InventoryItem.c:731
Definition ItemManager.c:2
static ItemManager GetInstance()
Definition ItemManager.c:283
override EntityAI GetFocusedItem()
Definition SlotsContainer.c:226

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

◆ SetDefaultFocus()

override void SetDefaultFocus ( bool while_micromanagment_mode = false)
inlineprotected
25 {
26 m_FocusedColumn = 0;
27 for (int i = 0; i < GetColumnCount(); i++)
28 {
30 if (icon.IsVisible())
31 {
32 m_FocusedColumn = i;
33 break;
34 }
35 }
36
37 SetFocus( m_FocusedColumn );
38 }
void SetFocus(int index)
Definition SlotsContainer.c:45

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

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

◆ SetFocus()

void SetFocus ( int index)
inlineprotected
46 {
47 if ( index >= 0 && index < m_Icons.Count() )
48 {
49 m_Icons.Get( index ).GetSelectedPanel().Show( true );
50 }
51 UpdateIcon();
52 }
void UpdateIcon()
Definition SlotsContainer.c:139

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

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

◆ SetLastFocus()

override void SetLastFocus ( )
inlineprotected
41 {
43 }
override void SetDefaultFocus(bool while_micromanagment_mode=false)
Definition SlotsContainer.c:24

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

◆ SetLayoutName()

override void SetLayoutName ( )
inlineprotected
239 {
240 #ifdef PLATFORM_CONSOLE
242 #else
243 switch ( InventoryMenu.GetWidthType() )
244 {
245 case ScreenWidthType.NARROW:
246 {
248 break;
249 }
250 case ScreenWidthType.MEDIUM:
251 {
253 break;
254 }
255 case ScreenWidthType.WIDE:
256 {
258 break;
259 }
260 }
261 #endif
262
263 }
ScreenWidthType
Definition InventoryMenu.c:2
void InventoryMenu()
Definition InventoryMenu.c:20
Definition WidgetLayoutName.c:2
const string InventorySlotsContainerMedium
Definition WidgetLayoutName.c:14
const string InventorySlotsContainerNarrow
Definition WidgetLayoutName.c:13
const string InventorySlotsContainerWide
Definition WidgetLayoutName.c:15
const string InventorySlotsContainerXbox
Definition WidgetLayoutName.c:16

Перекрестные ссылки InventoryMenu(), WidgetLayoutName::InventorySlotsContainerMedium, WidgetLayoutName::InventorySlotsContainerNarrow, WidgetLayoutName::InventorySlotsContainerWide и WidgetLayoutName::InventorySlotsContainerXbox.

◆ SetNextLeftActive()

override void SetNextLeftActive ( )
inlineprotected
117 {
118 Unfocus();
119
120 int index = m_FocusedColumn - 1;
121 for (int i = 0; i < GetColumnCount(); i++ )
122 {
123 if (index < 0)
124 {
125 index = GetColumnCount() - 1;
126 }
128 if (icon.IsVisible())
129 {
130 m_FocusedColumn = index;
131 break;
132 }
133 index--;
134 }
135
136 UpdateIcon();
137 }
override void Unfocus()
Definition SlotsContainer.c:166

Перекрестные ссылки m_Icons, Unfocus() и UpdateIcon().

◆ SetNextRightActive()

override void SetNextRightActive ( )
inlineprotected
94 {
95 Unfocus();
96
97 int index = m_FocusedColumn + 1;
98 for (int i = 0; i < GetColumnCount(); i++ )
99 {
100 if (index >= GetColumnCount())
101 {
102 index = 0;
103 }
105 if (icon.IsVisible())
106 {
107 m_FocusedColumn = index;
108 break;
109 }
110 index++;
111 }
112
113 UpdateIcon();
114 }

Перекрестные ссылки m_Icons, Unfocus() и UpdateIcon().

◆ SetVisibleFocus()

void SetVisibleFocus ( int index)
inlineprotected
55 {
56 Unfocus();
57 int visible_icons_count = 0;
58
59 m_FocusedColumn = 0;
60 for (int i = 0; i < GetColumnCount(); i++)
61 {
63 if (icon.IsVisible())
64 {
65 m_FocusedColumn = i;
67 break;
69 }
70 }
71
72 SetFocus( m_FocusedColumn );
73 }

Перекрестные ссылки m_Icons, SetFocus() и Unfocus().

◆ Unfocus()

override void Unfocus ( )
inlineprotected
167 {
168 Widget w = m_Icons.Get( m_FocusedColumn ).GetSelectedPanel();
169 if ( w )
170 {
171 w.Show( false );
172 }
173 }

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

Используется в SetNextLeftActive(), SetNextRightActive() и SetVisibleFocus().

◆ UnfocusAll()

override void UnfocusAll ( )
inlineprotected
159 {
160 for (int i = 0; i < m_Icons.Count(); i++)
161 {
162 m_Icons.Get( i ).GetSelectedPanel().Show( false );
163 }
164 }

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

◆ UpdateIcon()

void UpdateIcon ( )
inlineprotected
140 {
141 float x, y;
142 SlotsIcon icon = GetSlotIcon( m_FocusedColumn );
143
144 icon.GetSelectedPanel().Show( true );
145 icon.GetSelectedPanel().GetScreenPos( x, y );
146
148 if ( focused_item )
149 {
150 PrepareOwnedTooltip( focused_item, -1, y ); //custom positioning for the controller
151 }
152 else
153 {
154 PrepareOwnedSlotsTooltip( icon.GetSelectedPanel(), icon.GetSlotDisplayName(), icon.GetSlotDesc(), x, y );
155 }
156 }
Icon x
Icon y

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

Используется в SetFocus(), SetNextLeftActive() и SetNextRightActive().

◆ VerifySlotsIconVisibility()

bool VerifySlotsIconVisibility ( int idx = -1)
inlineprotected

Returns 'true' if radial icon is VISIBLE and also OPEN (individual icon or any icon, use parameter..)

267 {
268 if (idx != -1)
269 {
270 return m_Icons[idx].IsVisible() && m_Icons[idx].GetRadialIconPanel().IsVisible() && m_Icons[idx].GetRadialIcon().IsVisible();
271 }
272 else
273 {
274 int count = m_Icons.Count();
275 for (int i = 0; i < count; i++)
276 {
277 if (m_Icons[i].IsVisible() && m_Icons[i].GetRadialIconPanel().IsVisible() && m_Icons[i].GetRadialIcon().IsVisible())
278 {
279 return true;
280 }
281 }
282 }
283 return false;
284 }

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

Поля

◆ m_Icons

◆ m_VisibleColumnCount

int m_VisibleColumnCount
protected

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