using System; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; /// /// 이거로 UI 동작 막게 할거면 @Canvas 아래다 넣으면서 SetAsLastSibling()로 가장 하단 넣어두면 댐 /// public class UIPanel : MonoBehaviour { private Image _background; public event Action OnPanelClicked; void Awake() { _background = GetComponent(); _background.raycastTarget = true; EventTrigger trigger = GetComponent(); if (trigger == null) trigger = gameObject.AddComponent(); EventTrigger.Entry entry = new EventTrigger.Entry(); entry.eventID = EventTriggerType.PointerClick; entry.callback.AddListener((eventData => {ClickedPanel(); })); trigger.triggers.Clear(); trigger.triggers.Add(entry); } private void ClickedPanel() { OnPanelClicked?.Invoke(gameObject.name); } }