Files
EnglewoodLAB/Assets/Scripts/UVC/UI/Common/InteractiveUI.cs

41 lines
1.5 KiB
C#

using System;
using UnityEngine;
using UnityEngine.EventSystems;
namespace UVC.UI.Common
{
public class InteractiveUI : MonoBehaviour, IPointerClickHandler, IPointerEnterHandler, IPointerExitHandler
{
public Action<PointerEventData> OnPointerClickHandler;
public Action<PointerEventData> OnPointerEnterHandler;
public Action<PointerEventData> OnPointerExitHandler;
/// <summary>
/// 포인터로 이 객체를 클릭했을 때 호출됩니다.
/// </summary>
/// <param name="eventData">클릭 이벤트와 관련된 데이터입니다.</param>
public virtual void OnPointerClick(PointerEventData eventData)
{
OnPointerClickHandler?.Invoke(eventData);
}
/// <summary>
/// 포인터가 이 객체 위로 들어왔을 때 호출됩니다. 하이라이트 효과 등에 사용할 수 있습니다.
/// </summary>
/// <param name="eventData">포인터 이벤트와 관련된 데이터입니다.</param>
public virtual void OnPointerEnter(PointerEventData eventData)
{
OnPointerEnterHandler?.Invoke(eventData);
}
/// <summary>
/// 포인터가 이 객체에서 벗어났을 때 호출됩니다.
/// </summary>
/// <param name="eventData">포인터 이벤트와 관련된 데이터입니다.</param>
public virtual void OnPointerExit(PointerEventData eventData)
{
OnPointerExitHandler?.Invoke(eventData);
}
}
}