DayZ 1.26
DayZ Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс InventoryGridController

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

void InventoryQuickbar (Widget quickbarGridWidget)
 
void ~InventoryQuickbar ()
 
void UpdateItems (Widget quickbarGridWidget)
 
void Remove (InventoryItem itemToRemove)
 
override void OnItemEnter (InventoryGrid grid, Widget w, int row, int col)
 
override void OnItemLeave (InventoryGrid grid, Widget w)
 
override void OnItemDraggingOver (InventoryGrid grid, Widget w, int row, int col)
 
override void OnItemDropReceived (InventoryGrid grid, Widget w, int row, int col)
 
override void OnItemDrop (InventoryGrid grid, Widget w, int row, int col)
 
override void OnItemDrag (InventoryGrid grid, Widget w, int row, int col)
 
override int GetQuickbarItemColor (InventoryGrid grid, InventoryItem item)
 
override int HasItemQuantity (InventoryItem item)
 
override string GetItemQuantityText (InventoryItem item)
 
override float GetItemQuantity (InventoryItem item)
 
override int GetItemQuantityMax (InventoryItem item)
 
override int GetItemCount (InventoryItem item)
 
override bool CanAddItemInHandToInventory ()
 

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

ref TItemsMap m_Items
 
InventoryGrid m_Grid
 
int m_DraggingIndex
 

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

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

◆ ~InventoryQuickbar()

void ~InventoryQuickbar ( )
inlineprotected
16 {
17 }

Методы

◆ CanAddItemInHandToInventory()

override bool CanAddItemInHandToInventory ( )
inlineprotected
284 {
286 EntityAI itemInHand = player.GetHumanInventory().GetEntityInHands();
287 return itemInHand && player.GetInventory().CanAddEntityToInventory(itemInHand);
288 }
PlayerBase GetPlayer()
Definition ModifierBase.c:51
Definition Building.c:6
Definition EntityAI.c:95
Definition PlayerBaseClient.c:2
proto native CGame GetGame()

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

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

◆ GetItemCount()

override int GetItemCount ( InventoryItem item)
inlineprotected
278 {
279 ItemBase ib = ItemBase.Cast(item);
280 return ib.m_Count;
281 }
Definition InventoryItem.c:731

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

◆ GetItemQuantity()

override float GetItemQuantity ( InventoryItem item)
inlineprotected
267 {
269 }
Definition QuantityConversions.c:2
static float GetItemQuantity(InventoryItem item)
Definition QuantityConversions.c:72

Перекрестные ссылки QuantityConversions::GetItemQuantity().

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

◆ GetItemQuantityMax()

override int GetItemQuantityMax ( InventoryItem item)
inlineprotected
272 {
273 ItemBase ib = ItemBase.Cast(item);
274 return ib.m_VarQuantityMax;
275 }

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

◆ GetItemQuantityText()

override string GetItemQuantityText ( InventoryItem item)
inlineprotected
262 {
264 }
static string GetItemQuantityText(EntityAI item, bool showMax=false)
Definition QuantityConversions.c:3

Перекрестные ссылки QuantityConversions::GetItemQuantityText().

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

◆ GetQuickbarItemColor()

override int GetQuickbarItemColor ( InventoryGrid grid,
InventoryItem item )
inlineprotected
236 {
237 int color = 0x0AFFFFFF;
239 EntityAI itemInHand = player.GetHumanInventory().GetEntityInHands();
240 if ( player && itemInHand == item )
241 {
242 if ( player.GetHumanInventory().FindUserReservedLocationIndex(item) != -1 || grid.CanAddItemInHandToInventory() )
243 color = InventoryGrid.ITEM_COLOR_QUICKBAR_H_GOOD;
244 else
245 color = InventoryGrid.ITEM_COLOR_QUICKBAR_H_BAD;
246 }
247 else if ( itemInHand )
248 {
249 if ( !grid.CanAddItemInHandToInventory() && !GameInventory.CanSwapEntitiesEx(item, itemInHand) )
250 color = InventoryGrid.ITEM_COLOR_QUICKBAR_I_BAD;
251 }
252 return color;
253 }
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(), GetGame() и GetPlayer().

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

◆ HasItemQuantity()

override int HasItemQuantity ( InventoryItem item)
inlineprotected
257 {
259 }
static int HasItemQuantity(notnull EntityAI item)
Definition QuantityConversions.c:143

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

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

◆ InventoryQuickbar()

void InventoryQuickbar ( Widget quickbarGridWidget)
inlineprotected
9 {
11 m_Items = new TItemsMap;
13 }
ref TItemsMap m_Items
Definition InventoryQuickbar.c:4
void UpdateItems(Widget quickbarGridWidget)
Definition InventoryQuickbar.c:19
int m_DraggingIndex
Definition InventoryQuickbar.c:6
const int INDEX_NOT_FOUND
Definition gameplay.c:13

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

◆ OnItemDrag()

override void OnItemDrag ( InventoryGrid grid,
Widget w,
int row,
int col )
inlineprotected
225 {
227 InventoryItem item = InventoryItem.Cast( player.GetQuickBarEntity(col) );
228 if (item)
229 {
231 m_Grid.SetItemColor(item, InventoryGrid.ITEM_COLOR_DRAG);
232 }
233 }
InventoryGrid m_Grid
Definition InventoryQuickbar.c:5
Definition ItemBase.c:15

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

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

◆ OnItemDraggingOver()

override void OnItemDraggingOver ( InventoryGrid grid,
Widget w,
int row,
int col )
inlineprotected
100 {
103 iw = ItemPreviewWidget.Cast( w.FindAnyWidget( "Render" ) );
104 if( !iw )
105 {
106 string name = w.GetName();
107 name.Replace( "PanelWidget", "Render" );
108 iw = ItemPreviewWidget.Cast( w.FindAnyWidget( name ) );
109 }
110
111 if( !iw || !iw.GetItem() )
112 {
113 return;
114 }
115
116 if(!dragged_item && iw)
117 dragged_item = InventoryItem.Cast( iw.GetItem() );
118
119 if ( dragged_item == NULL)
120 return;
121
122 if (dragged_item && dragged_item.GetInventory().CanRemoveEntity() == false)
123 {
124 int color;
125
126 color = ARGB( 150, 255, 1, 1 );
127
128 if( w.FindAnyWidget("Cursor") )
129 {
130 w.FindAnyWidget("Cursor").SetColor( color );
131 }
132 else
133 {
134 name = w.GetName();
135 name.Replace( "PanelWidget", "Cursor" );
136 if( w.FindAnyWidget( name ) )
137 {
138 w.FindAnyWidget( name ).SetColor( color );
139 }
140 }
141 }
142 else
143 {
144 color = ARGB( 150, 1, 255, 1 );
145
146 if( w.FindAnyWidget("Cursor") )
147 {
148 w.FindAnyWidget("Cursor").SetColor( color );
149 }
150 else
151 {
152 name = w.GetName();
153 name.Replace( "PanelWidget", "Cursor" );
154 if( w.FindAnyWidget( name ) )
155 {
156 w.FindAnyWidget( name ).SetColor( color );
157 }
158 }
159 }
160 }
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
Definition gameplay.c:276
int ARGB(int a, int r, int g, int b)
Definition proto.c:322

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

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

◆ OnItemDrop()

override void OnItemDrop ( InventoryGrid grid,
Widget w,
int row,
int col )
inlineprotected
207 {
209 {
214 }
215
216 InventoryMenu menu = InventoryMenu.Cast( GetGame().GetUIManager().FindMenu(MENU_INVENTORY) );
217 if ( menu )
218 {
219 menu.RefreshQuickbar();
220 }
221 ItemManager.GetInstance().HideDropzones();
222 }
void InventoryMenu()
Definition InventoryMenu.c:20
void Remove(InventoryItem itemToRemove)
Definition InventoryQuickbar.c:66
Definition ItemManager.c:2
static ItemManager GetInstance()
Definition ItemManager.c:283
const int MENU_INVENTORY
Definition constants.c:178

Перекрестные ссылки GetGame(), ItemManager::GetInstance(), GetPlayer(), INDEX_NOT_FOUND, InventoryMenu(), MENU_INVENTORY и Remove().

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

◆ OnItemDropReceived()

override void OnItemDropReceived ( InventoryGrid grid,
Widget w,
int row,
int col )
inlineprotected
163 {
165
166 ItemBase dragged_item = ItemBase.Cast( ItemManager.GetInstance().GetDraggedItem() );
167
168 ItemPreviewWidget iw = ItemPreviewWidget.Cast( w.FindAnyWidget( "Render" ) );
169 if( !iw )
170 {
171 string name = w.GetName();
172 name.Replace( "PanelWidget", "Render" );
173 iw = ItemPreviewWidget.Cast( w.FindAnyWidget( name ) );
174 }
175
176 if(!dragged_item && iw)
177 dragged_item = ItemBase.Cast( iw.GetItem() );
178
179 if(dragged_item && dragged_item.GetHierarchyRootPlayer()!= GetGame().GetPlayer())
180 return;
181
182 ItemBase quickbar_item = ItemBase.Cast( player.GetQuickBarEntity(col) );
183
185 {
186 dragged_item = ItemBase.Cast( player.GetQuickBarEntity(m_DraggingIndex) );
187 }
188
189 if (dragged_item && dragged_item.GetInventory().CanRemoveEntity())
190 {
191 player.SetQuickBarEntityShortcut(dragged_item, col);
192
194 {
195 player.SetQuickBarEntityShortcut(quickbar_item, m_DraggingIndex);
196 }
197 }
199 InventoryMenu menu = InventoryMenu.Cast( GetGame().GetUIManager().FindMenu(MENU_INVENTORY) );
200 if ( menu )
201 {
202 menu.RefreshQuickbar();
203 }
204 }

Перекрестные ссылки GetGame(), ItemManager::GetInstance(), GetPlayer(), INDEX_NOT_FOUND, InventoryMenu(), MENU_INVENTORY и name.

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

◆ OnItemEnter()

override void OnItemEnter ( InventoryGrid grid,
Widget w,
int row,
int col )
inlineprotected
82 {
83 Widget quickbar = grid.GetRoot();
84 if( quickbar )
85 {
86 // quickbar.SetColor( 0xFFFFFFFF );
87 }
88 }
Definition EnWidgets.c:190

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

◆ OnItemLeave()

override void OnItemLeave ( InventoryGrid grid,
Widget w )
inlineprotected
91 {
92 Widget quickbar = grid.GetRoot();
93 if( quickbar )
94 {
95 // quickbar.SetColor( 0x7FFFFFFF );
96 }
97 }

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

◆ Remove()

void Remove ( InventoryItem itemToRemove)
inlineprotected
67 {
69
70 for ( int i = 0; i < m_Grid.GetGridSize(); i++ )
71 {
72 InventoryItem item = InventoryItem.Cast( player.GetQuickBarEntity(i) );
73 if(item == itemToRemove)
74 {
75 player.RemoveQuickBarEntityShortcut( item );
76 }
77 }
78 }

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

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

◆ UpdateItems()

void UpdateItems ( Widget quickbarGridWidget)
inlineprotected
20 {
22 {
23 return;
24 }
25
27 if ( !player )
28 return;
29
30 int i;
31
32 // create grid and align it to center
33 if( !m_Grid )
34 {
35 quickbarGridWidget.GetScript( m_Grid );
36 m_Grid.SetController( this );
37 m_Grid.GenerateQuickBarBackgroundTiles( 10 );
38 }
39
40 m_Items.Clear();
42
43 if( m_Grid )
44 {
45 if( m_Grid.GetGridSize() != player.GetQuickBarSize() )
46 {
47 m_Grid.SetGridSize( player.GetQuickBarSize() );
48 }
49 }
50
51 for( i = 0; i < m_Grid.GetGridSize(); i++)
52 {
53 item = InventoryItem.Cast( player.GetQuickBarEntity(i) );
54 if( item )
55 {
56 m_Items.Set( item, Vector(i, 1, 1) );
57 }
58 }
59
60 if( m_Grid )
61 {
62 m_Grid.UpdateQuickbarItems( m_Items );
63 }
64 }
proto native vector Vector(float x, float y, float z)
Vector constructor from components.

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

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

Поля

◆ m_DraggingIndex

int m_DraggingIndex
protected

◆ m_Grid

InventoryGrid m_Grid
protected

◆ m_Items

ref TItemsMap m_Items
protected

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