/*     public override bool AddAtFirstAvailable(InventoryItemView item)
         *   {
         *       bool itemAdded = false;
         *       for (int i = 0; i < _inventoryGrid.GetLength(0); i++)
         *       {
         *           for (int j = 0; j < _inventoryGrid.GetLength(1); j++)
         *           {
         *               if (_inventoryGrid[i, j]!=null&&!_inventoryGrid[i, j].ContainsItem())
         *               {
         *                  itemAdded= _inventoryGrid[i, j].AddInventoryItem(item);
         *               }
         *               //break from inner loop
         *               if (itemAdded)
         *               {
         *                   break;
         *               }
         *           }
         *           //Break from outer loop
         *           if (itemAdded)
         *           {
         *               break;
         *           }
         *       }
         *
         *       return itemAdded;
         *   }*/

        protected virtual InventorySlot[,] InitializeGrid(int cols, int rows)
        {
            int  slotsAdded    = 0;
            bool allSlotsAdded = false;

            InventorySlot[,] result = new InventorySlot[cols, rows];
            for (int j = 0; j < result.GetLength(1); j++)
            {
                for (int i = 0; i < result.GetLength(0); i++)
                {
                    InventorySlot InventorySlot = new InventorySlot(new Vector2(_positionAbsolute.X + (45 * i), _positionAbsolute.Y + (45 * j)) - _positionAbsolute, _positionAbsolute, this);
                    InventorySlot.IsVisible = true;
                    InventorySlot.IsActive  = true;
                    InventorySlot.HasFocus  = true;
                    result[i, j]            = InventorySlot;
                    slotsAdded++;
                    if (slotsAdded >= _inventoryModel.MaxCapacity)
                    {
                        allSlotsAdded = true;
                        break;
                    }
                }
                if (allSlotsAdded)
                {
                    break;
                }
            }

            return(result);
        }
Пример #2
0
        protected virtual InventorySlot[,] InitializeGrid(int cols, int rows)
        {
            int  slotsAdded    = 0;
            bool allSlotsAdded = false;

            InventorySlot[,] result = new InventorySlot[cols, rows];
            for (int j = 0; j < result.GetLength(1); j++)
            {
                int slotNumber = 1;
                if (_isSecondaryHand)//Primary hand is 1-5/1-10, second hand is always 6-10
                {
                    slotNumber = 6;
                }
                for (int i = 0; i < result.GetLength(0); i++)
                {
                    InventorySlot InventorySlot = new AbilityInventorySlot(new Vector2(_positionAbsolute.X + (45 * i), _positionAbsolute.Y + (45 * j)) - _positionAbsolute, _positionAbsolute, this, slotNumber);
                    InventorySlot.IsVisible = true;
                    InventorySlot.IsActive  = true;
                    InventorySlot.HasFocus  = true;
                    result[i, j]            = InventorySlot;
                    slotsAdded++;
                    if (slotsAdded >= _inventoryModel.MaxCapacity)
                    {
                        allSlotsAdded = true;
                        break;
                    }
                    slotNumber++;
                }
                if (allSlotsAdded)
                {
                    break;
                }
            }

            return(result);
        }