OldBlueWater/BlueWater/Assets/02.Scripts/Item/ItemSlotUi.cs

40 lines
1.3 KiB
C#

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;
}
}