using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro; using Sirenix.OdinInspector; using KairoEngine.SFX; using KairoEngine.Core; namespace KairoEngine.Inventory { public class ItemSlotUi : MonoBehaviour { public ItemRef itemRef; public Image iconUi; public TextMeshProUGUI quantityUi; public TextMeshProUGUI priceUi; public TextMeshProUGUI valueUI; public RectTransform curtainTransform; public bool draggable = true; public bool dropable = true; public bool forSaleItem = false; [ShowIf("@forSaleItem")] public Sprite buttonNormal; [ShowIf("@forSaleItem")] public Sprite buttonInteraction; [ShowIf("@forSaleItem")] public Sprite buttonNavigation; [ShowIf("@forSaleItem")] public Sprite buttonSelected; [ShowIf("@forSaleItem")] public Sprite buttonDisabled; [ShowIf("@forSaleItem")] public Sprite buttonSuccess; [ShowIf("@forSaleItem")] public Sprite buttonSuccessInteraction; [ShowIf("@forSaleItem")] public Sprite buttonSuccessNavigation; [ShowIf("@forSaleItem")] public Sprite buttonSuccessSelected; [ReadOnly] public ItemContainer parentItemContainer; [ReadOnly] public ItemContainerUi parentItemContainerUi; [ReadOnly] public int quantityToBuy = 0; private BarterControllerUi baterCtrl; public void Setup(ItemRef newItemRef, ItemContainer parentItemContainer, ItemContainerUi itemContainerUi, bool showQuantity = true, bool showPrice = false, string value = "") { this.parentItemContainerUi = itemContainerUi; this.parentItemContainer = parentItemContainer; itemRef = newItemRef; if(forSaleItem) ResetButtonUi(); if (itemRef != null) { iconUi.sprite = itemRef.item.icon; iconUi.enabled = true; CooldownCurtain(); if (itemRef.item.stackble && showQuantity) { quantityUi.gameObject.SetActive(true); quantityUi.enabled = true; quantityUi.text = itemRef.quantity.ToString(); } if(showPrice) { priceUi.gameObject.SetActive(true); priceUi.enabled = true; priceUi.text = "$" + itemRef.item.value.ToString(); } if(forSaleItem) { quantityToBuy = 0; SetupBuy(); } else gameObject.GetComponent