using System; using UnityEngine; using TMPro; namespace SoulCoreGameLoop.UI { [RequireComponent(typeof(Animator))] public class AreaHint : MonoBehaviour, IUIEventSender { private static readonly int TriggerPlay = Animator.StringToHash("Play"); public TMP_Text areaName; private Animator _animator; private void Awake() { _animator = GetComponent(); UIEventListener.Register(this); } private void OnDestroy() => UIEventListener.Unregister(); public void OnReceive(AreaHintMessage evt) { areaName.text = evt.AreaName; _animator.SetTrigger(TriggerPlay); } } public struct AreaHintMessage { public readonly string AreaName; public AreaHintMessage(string areaName) { AreaName = areaName; } } }