Beispiel #1
0
    void OnInventoryChanged()
    {
        List <Item> itemsToAdd = new List <Item>();

        if (currentInventory)
        {
            itemsToAdd.AddRange(currentInventory.GetItems());
        }

        for (int i = content.childCount - 1; i >= 0; i--)
        {
            ItemUI ui = content.GetChild(i).GetComponent <ItemUI>();
            if (!itemsToAdd.Contains(ui.GetItem()))
            {
                Destroy(ui.gameObject);
            }
            else
            {
                itemsToAdd.Remove(ui.GetItem());
            }
        }

        foreach (Item item in itemsToAdd)
        {
            ItemUI ui = Instantiate(itemUIPrefab.gameObject).GetComponent <ItemUI>();
            ui.SetItem(item);
            ui.transform.SetParent(content);
            ui.GetComponent <RectTransform>().localScale = Vector3.one;
        }
    }
Beispiel #2
0
 private void OnEnable()
 {
     if (slotType == SlotType.SHOP)
     {
         DragItem itemDragUI = itemUI.GetComponent <DragItem>();
         Destroy(itemDragUI);
     }
 }
    private void EquipItem(ItemUI itemUI)
    {
        lastItemEquipped = itemUI.item.Copy();

        Player.Instance.inventories.equippedItems.AddItem(lastItemEquipped, false);

        itemUI.itemInventory.RemoveItem(itemUI.item, null, false);

        ApplyItemMods(itemUI.item);

        itemUI.itemInventory = Player.Instance.inventories.equippedItems;

        itemUI.GetComponent <ItemUI>().parent = this.transform;

        background.enabled = false;
    }