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) { if (variant.maxHeight > 0 || variant.minHeight > 0) { description += $"\nSpawns between Y: {variant.minHeight} - {variant.maxHeight}. Amount: {variant.dropRange}"; } } } gameObject.transform.Find("ItemTextDescription").GetComponent().text = description; break; } } } private void OnDestroy() { gameObject.GetComponent