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);
}
}