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