mirror of
https://github.com/DerTyp7/harvestdale-unity.git
synced 2025-10-29 12:52:07 +01:00
57 lines
1.2 KiB
C#
57 lines
1.2 KiB
C#
using System.Collections;
|
|
using UnityEngine.UI;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using TMPro;
|
|
public class HotbarSlotUI : MonoBehaviour
|
|
{
|
|
public int slotIndex;
|
|
|
|
private PlayerController playerController;
|
|
|
|
private InventoryItem invItem;
|
|
|
|
[SerializeField] private Image border;
|
|
[SerializeField] private Image image;
|
|
[SerializeField] private TextMeshProUGUI quantityText;
|
|
|
|
private void Start()
|
|
{
|
|
playerController = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerController>();
|
|
PlayerController.OnActiveSlotChanged += CheckSelectedSlot;
|
|
CheckSelectedSlot();
|
|
}
|
|
|
|
private void CheckSelectedSlot()
|
|
{
|
|
if (playerController.activeHotbarSlot == slotIndex)
|
|
{
|
|
border.gameObject.SetActive(true);
|
|
}
|
|
else
|
|
{
|
|
border.gameObject.SetActive(false);
|
|
}
|
|
}
|
|
|
|
public void SetInventoryItem(InventoryItem newInvItem)
|
|
{
|
|
invItem = newInvItem;
|
|
UpdateSlot();
|
|
}
|
|
|
|
private void UpdateSlot()
|
|
{
|
|
image.sprite = invItem?.item?.sprite ?? null;
|
|
quantityText.SetText(invItem?.count.ToString() ?? "");
|
|
if (image.sprite == null)
|
|
{
|
|
image.color = new Color(0, 0, 0, 0);
|
|
}
|
|
else
|
|
{
|
|
image.color = Color.white;
|
|
}
|
|
}
|
|
}
|