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); } }
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); }