c1_unity/Assets/Scripts/Component/UI/TutorialClickArea.cs
2023-04-03 11:04:31 +08:00

70 lines
1.9 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
namespace BF
{
public class TutorialClickArea : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerEnterHandler, IPointerExitHandler, ICancelHandler
{
private Transform targetTrans;
public void SetTargetTransform(Transform target)
{
if (target)
{
this.targetTrans = target;
}
else
{
this.targetTrans = null;
}
}
public void ClearTargetTransform()
{
this.targetTrans = null;
}
//监听按下
public void OnPointerDown(PointerEventData eventData)
{
if (targetTrans)
{
ExecuteEvents.Execute(targetTrans.gameObject, eventData, ExecuteEvents.pointerDownHandler);
}
}
//监听抬起
public void OnPointerUp(PointerEventData eventData)
{
if (targetTrans)
{
ExecuteEvents.Execute(targetTrans.gameObject, eventData, ExecuteEvents.pointerUpHandler);
}
}
public void OnPointerEnter(PointerEventData eventData)
{
if (targetTrans)
{
ExecuteEvents.Execute(targetTrans.gameObject, eventData, ExecuteEvents.pointerEnterHandler);
}
}
public void OnPointerExit(PointerEventData eventData)
{
if (targetTrans)
{
ExecuteEvents.Execute(targetTrans.gameObject, eventData, ExecuteEvents.pointerExitHandler);
}
}
public void OnCancel(BaseEventData eventData)
{
if (targetTrans)
{
ExecuteEvents.Execute(targetTrans.gameObject, eventData, ExecuteEvents.cancelHandler);
}
}
}
}