using TMPro; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; using System; namespace BriarQueen.UI.Menus.Components { [RequireComponent(typeof(Button))] public class UnderlineButton : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler, ISelectHandler, IDeselectHandler { [Header("References")] [SerializeField] private TextMeshProUGUI _label; private Button _button; private UnderlineButtonGroup _group; private bool _isHovered; public event Action SelectionRequested; public event Action HoverEntered; public event Action HoverExited; public bool IsSelected { get; private set; } // True when this button is registered with a group public bool IsGrouped => _group != null; private void Awake() { _button = GetComponent