using TMPro; using UnityEngine; using UnityEngine.UI; public class ItemComponent : MonoBehaviour { public ItemHandler itemHandler; public GameItem item; public TMP_Text nameText; public Image itemIcon; public Text quantityText; private void Awake() { if (nameText == null) Debug.LogError("ItemName not found"); if (quantityText == null) Debug.LogError("qty not found"); if (itemIcon == null) Debug.LogError("Icon not found"); itemHandler = gameObject.AddComponent(); if (itemHandler == null) Debug.LogError("ItemHandler not found"); } public void SetQuantity(string qty) { // Find the Quantity child and get the TMP_Text component quantityText.text = qty; } public void SetName(string name) { // Find the ItemName child and get the TMP_Text component nameText.text = name; } public void SetIcon(Sprite icon) { // Find the Icon child and get the Image component itemIcon.sprite = icon; } public void SetItem(GameItem newItem) { // todo: Use the new Item to update the ItemName, Icon, qty Debug.Log("Setting item, name: " + newItem.itemName); SetName(newItem.itemName); SetIcon(newItem.icon); SetQuantity(newItem.quantity); item = newItem; } public void DeleteItem() { // need to delete the parent of this item Component Destroy(transform.gameObject); } public GameItem GetItem() { return item; } public ItemComponent Copy() { Debug.Log("Copying item"); var newItem = gameObject.AddComponent(); newItem.SetItem(item); return newItem; } }