53 lines
1.2 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|