CapersProject/Assets/02.Scripts/Ui/InteractionUi.cs
2024-10-10 18:32:18 +09:00

53 lines
1.2 KiB
C#

using Sirenix.OdinInspector;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace BlueWater.Uis
{
public class InteractionUi : MonoBehaviour
{
[SerializeField, Required]
private GameObject _panel;
[SerializeField]
private Image _fillImage;
[SerializeField, Required]
private TMP_Text _keyText;
[SerializeField, Required]
private TMP_Text _interactionText;
private void Start()
{
EventManager.OnShowInteractionUi += ShowUi;
EventManager.OnHideInteractionUi += HideUi;
EventManager.OnInteracting += SetFillAmount;
}
private void OnDestroy()
{
EventManager.OnShowInteractionUi -= ShowUi;
EventManager.OnHideInteractionUi -= HideUi;
EventManager.OnInteracting -= SetFillAmount;
}
public void ShowUi(string message)
{
_interactionText.text = message;
_panel.SetActive(true);
}
public void HideUi()
{
_panel.SetActive(false);
}
private void SetFillAmount(float fillAmount)
{
_fillImage.fillAmount = fillAmount;
}
}
}