using Sirenix.OdinInspector; using TMPro; using UnityEngine; using UnityEngine.UI; // ReSharper disable once CheckNamespace namespace BlueWaterProject { public class ItemSlotUi : MonoBehaviour { [field: SerializeField] public ItemSlot ItemSlot { get; private set; } [SerializeField, Required] private Toggle itemSelectToggle; [SerializeField, Required] private Image image; [SerializeField, Required] private TMP_Text nameText; [SerializeField, Required] private TMP_Text weightText; [SerializeField, Required] private TMP_Text countText; public bool ToggleIsOn => itemSelectToggle.isOn; public void InitData(ItemSlot itemSlot) { ItemSlot = itemSlot; UpdateData(itemSlot); } public void UpdateData(ItemSlot itemSlot) { var item = ItemManager.Inst.ItemDictionary[itemSlot.Idx]; image.sprite = item.sprite; nameText.text = item.name; weightText.text = item.weight * ItemSlot.Count + "kg"; countText.text = "x" + ItemSlot.Count; } public void ToggleOn() => itemSelectToggle.isOn = true; public void ToggleOff() => itemSelectToggle.isOn = false; public void ClickToggle() => itemSelectToggle.isOn = !itemSelectToggle.isOn; } }