using Assets.Scripts.Helpers; using System; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; using static UnityEditor.Progress; public enum ItemUIType { ItemNameDescription, ItemDescription } public class ItemUIScript : MonoBehaviour { private InventorySlot inventorySlot; public ItemUIType itemUIType; public InventorySlot InventorySlot { get => inventorySlot; set { inventorySlot = value; switch (itemUIType) { case ItemUIType.ItemNameDescription: gameObject.transform.Find("ItemName").GetComponent().text = inventorySlot.item.itemName; gameObject.transform.Find("ItemQuantity").GetComponent().text = inventorySlot.quantity.ToString() + "x"; gameObject.transform.Find("ItemIcon").GetComponent().sprite = inventorySlot.item.itemIcon; UIHelper.UpdateItemMaxCountText(gameObject.transform.Find("ItemQuantity").GetComponent(), inventorySlot.quantity, inventorySlot.item.maxStackSize); break; case ItemUIType.ItemDescription: string description = $"Description\n{inventorySlot.item.itemDescription}\n"; GenerateableDatabase.Instance.TryGetGenerateables(inventorySlot.item.itemId, out var variants); if (variants != null) { description += $"\nGeneration"; foreach (var variant in variants) { description += $"\nLocation\tY: {variant.maxHeight} to {variant.minHeight}"; description += $"\n\tAmount: {variant.dropRange.ToRangeString()}"; } } gameObject.transform.Find("ItemTextDescription").GetComponent().text = description; break; } } } private void OnDestroy() { gameObject.GetComponent