using System; using UnityEngine; using UnityEngine.Events; using UnityEngine.EventSystems; [RequireComponent(typeof(OutlineFx.OutlineFx))] public class MyButton : MonoBehaviour, IPointerClickHandler, IPointerEnterHandler, IPointerExitHandler { [SerializeField] private UnityEvent _onClick; // references private OutlineFx.OutlineFx _outlineFx; private void Awake() { _outlineFx = GetComponent(); } public void OnPointerClick(PointerEventData eventData) { _onClick.Invoke(); } public void OnPointerEnter(PointerEventData eventData) { _outlineFx.enabled = true; } public void OnPointerExit(PointerEventData eventData) { _outlineFx.enabled = false; } }