Esempio n. 1
0
    void SelectLogic()
    {
        GridItem gridItem = ItemUnderTheMouse.Instance.GetCurrentDragedItem();

        if (gridItem != null)
        {
            if (gridItem.GetItemReference().Equipment == EquipmentType)
            {
                ItemUnderTheMouse.Instance.AddCurrentItemToInventory(true);
            }
            else
            {
                if (gridItem.GetItemReference().Equipment == Item.EquipmentCategory.NotEquippable)
                {
                    Debug.LogError("Not Equipable");
                    FloatingTexts.Instance.Show("Not Equipable", FloatingTexts.Type.Error);
                }
                else
                {
                    Debug.LogError("Not Suitable for this slot: " + EquipmentType.ToString());
                    FloatingTexts.Instance.Show("Not Suitable for this slot: " + EquipmentType.ToString(), FloatingTexts.Type.Error);
                }
            }
        }
    }
    public void SetCurrentDragedItem(GridItem item, bool longPressMode)
    {
        _gridItem = item;
        InventoryUI.SetEventPanelActive(true);
        if (item.GetContainedPanel() is InventoryUI)
        {
            _fromInventory = true;
            Inventory.RemoveItemFromInventory(_gridItem, false);
        }
        else
        {
            Equipment.RemoveItem(item.GetItemReference());
            _fromInventory = false;
        }

        underItem = ObjectPoolManager.Instance.GetObject <UnderMouseItem>(UNDER_MOUSE_ICON_PREFAB_KEY);
        underItem.Setup(item.GetItemReference().Image);
        underItem.transform.SetParent(InventoryUI.CanvasRoot.transform);
        underItem.transform.localScale = Vector2.one;
        ObjectPoolManager.Instance.RecycleObject(_gridItem.GetComponent <PoolableObjectInstance>());
        _longPressMode = longPressMode;

        if (_longPressMode)
        {
            InventoryUI.SetScrollRectActive(false);
        }
    }
Esempio n. 3
0
 public bool IsItemEquiped(GridItem item)
 {
     if (Equipments.ContainsKey(item.GetItemReference().Equipment))
     {
         if (item == Equipments[item.GetItemReference().Equipment].EquipedItem)
         {
             return(true);
         }
     }
     return(false);
 }
 public void RemoveItemFromInventory(GridItem item, bool destroyObject)
 {
     if (_items.ContainsKey(item.GetItemReference().Id))
     {
         List <GridItem> stackableItems = _items[item.GetItemReference().Id];
         stackableItems.Remove(item);
         if (stackableItems.Count == 0)
         {
             _items.Remove(item.GetItemReference().Id);
         }
         if (destroyObject)
         {
             ObjectPoolManager.Instance.RecycleObject(item.GetComponent <PoolableObjectInstance>());
         }
     }
 }
    public void SendItemToTheGround(GridItem _gridItem)
    {
        Item item = _gridItem.GetItemReference();

        for (int i = 0; i < _gridItem.GetItemCount(); i++)
        {
            PlayerPickUp.CreatePickupableItem(item, 2);
        }
    }
    public void ConsumeGridItem(GridItem item)
    {
        if (item is StackableGridItem)
        {
            StackableGridItem stkRef = item as StackableGridItem;
            int currentNumber        = item.GetCurrentNumber();
            currentNumber -= 1;

            stkRef.SetCurrentNubmber(currentNumber);

            ConsumeItem(item.GetItemReference());
            if (currentNumber == 0)
            {
                RemoveItemFromInventory(item, true);
            }
        }
        else
        {
            ConsumeItem(item.GetItemReference());
            RemoveItemFromInventory(item, true);
        }
    }
 void EquipLogic()
 {
     if (_gridItem.GetItemReference().Equipment == _lastEnterEquipmentSlot.EquipmentType)
     {
         AddCurrentItemToInventory(true);
     }
     else
     {
         if (_gridItem.GetItemReference().Equipment == Item.EquipmentCategory.NotEquippable)
         {
             Debug.LogError("Not Equipable");
             AddCurrentItemToInventory(!_fromInventory);
             FloatingTexts.Instance.Show("Not Equipable", FloatingTexts.Type.Error);
         }
         else
         {
             Debug.LogError("Not Suitable for this slot: " + _lastEnterEquipmentSlot.EquipmentType.ToString());
             AddCurrentItemToInventory(!_fromInventory);
             FloatingTexts.Instance.Show("Not Suitable for this slot: " + _lastEnterEquipmentSlot.EquipmentType.ToString(), FloatingTexts.Type.Error);
         }
     }
 }
 public void ForceEquipItem(GridItem item)
 {
     RemoveItemFromInventory(item, true);
     AddToInventory(item.GetItemReference(), true, true);
 }