21 if( !quickbarGridWidget )
35 quickbarGridWidget.GetScript( m_Grid );
36 m_Grid.SetController(
this );
37 m_Grid.GenerateQuickBarBackgroundTiles( 10 );
45 if( m_Grid.GetGridSize() != player.GetQuickBarSize() )
47 m_Grid.SetGridSize( player.GetQuickBarSize() );
51 for( i = 0; i < m_Grid.GetGridSize(); i++)
62 m_Grid.UpdateQuickbarItems(
m_Items );
70 for (
int i = 0; i < m_Grid.GetGridSize(); i++ )
73 if(item == itemToRemove)
75 player.RemoveQuickBarEntityShortcut( item );
81 override void OnItemEnter(InventoryGrid grid, Widget w,
int row,
int col)
83 Widget quickbar = grid.GetRoot();
92 Widget quickbar = grid.GetRoot();
106 string name = w.GetName();
107 name.Replace(
"PanelWidget",
"Render" );
111 if( !iw || !iw.GetItem() )
116 if(!dragged_item && iw)
119 if ( dragged_item == NULL)
122 if (dragged_item && dragged_item.GetInventory().CanRemoveEntity() ==
false)
126 color =
ARGB( 150, 255, 1, 1 );
128 if( w.FindAnyWidget(
"Cursor") )
130 w.FindAnyWidget(
"Cursor").SetColor( color );
135 name.Replace(
"PanelWidget",
"Cursor" );
136 if( w.FindAnyWidget(
name ) )
138 w.FindAnyWidget(
name ).SetColor( color );
144 color =
ARGB( 150, 1, 255, 1 );
146 if( w.FindAnyWidget(
"Cursor") )
148 w.FindAnyWidget(
"Cursor").SetColor( color );
153 name.Replace(
"PanelWidget",
"Cursor" );
154 if( w.FindAnyWidget(
name ) )
156 w.FindAnyWidget(
name ).SetColor( color );
171 string name = w.GetName();
172 name.Replace(
"PanelWidget",
"Render" );
176 if(!dragged_item && iw)
177 dragged_item =
ItemBase.Cast( iw.GetItem() );
179 if(dragged_item && dragged_item.GetHierarchyRootPlayer()!=
GetGame().
GetPlayer())
186 dragged_item =
ItemBase.Cast( player.GetQuickBarEntity(m_DraggingIndex) );
189 if (dragged_item && dragged_item.GetInventory().CanRemoveEntity())
191 player.SetQuickBarEntityShortcut(dragged_item, col);
193 if (quickbar_item && quickbar_item != dragged_item && m_DraggingIndex !=
INDEX_NOT_FOUND)
195 player.SetQuickBarEntityShortcut(quickbar_item, m_DraggingIndex);
202 menu.RefreshQuickbar();
206 override void OnItemDrop(InventoryGrid grid, Widget w,
int row,
int col)
219 menu.RefreshQuickbar();
224 override void OnItemDrag(InventoryGrid grid, Widget w,
int row,
int col)
230 m_DraggingIndex = col;
231 m_Grid.SetItemColor(item, InventoryGrid.ITEM_COLOR_DRAG);
237 int color = 0x0AFFFFFF;
239 EntityAI itemInHand = player.GetHumanInventory().GetEntityInHands();
240 if ( player && itemInHand == item )
242 if ( player.GetHumanInventory().FindUserReservedLocationIndex(item) != -1 || grid.CanAddItemInHandToInventory() )
243 color = InventoryGrid.ITEM_COLOR_QUICKBAR_H_GOOD;
245 color = InventoryGrid.ITEM_COLOR_QUICKBAR_H_BAD;
247 else if ( itemInHand )
250 color = InventoryGrid.ITEM_COLOR_QUICKBAR_I_BAD;
274 return ib.m_VarQuantityMax;
286 EntityAI itemInHand = player.GetHumanInventory().GetEntityInHands();
287 return itemInHand && player.GetInventory().CanAddEntityToInventory(itemInHand);
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
script counterpart to engine's class Inventory
static bool CanSwapEntitiesEx(notnull EntityAI item1, notnull EntityAI item2)
override void OnItemDrag(InventoryGrid grid, Widget w, int row, int col)
override bool CanAddItemInHandToInventory()
override int GetItemQuantityMax(InventoryItem item)
override int GetItemCount(InventoryItem item)
override void OnItemDropReceived(InventoryGrid grid, Widget w, int row, int col)
override void OnItemLeave(InventoryGrid grid, Widget w)
override void OnItemEnter(InventoryGrid grid, Widget w, int row, int col)
void ~InventoryQuickbar()
override int HasItemQuantity(InventoryItem item)
override int GetQuickbarItemColor(InventoryGrid grid, InventoryItem item)
override void OnItemDraggingOver(InventoryGrid grid, Widget w, int row, int col)
override void OnItemDrop(InventoryGrid grid, Widget w, int row, int col)
void Remove(InventoryItem itemToRemove)
void UpdateItems(Widget quickbarGridWidget)
override float GetItemQuantity(InventoryItem item)
void InventoryQuickbar(Widget quickbarGridWidget)
override string GetItemQuantityText(InventoryItem item)
EntityAI GetDraggedItem()
static ItemManager GetInstance()
const int INDEX_NOT_FOUND
proto native CGame GetGame()
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
int ARGB(int a, int r, int g, int b)
ItemBase m_Items[MAX_NUMBER_OF_INGREDIENTS]