70 lines
1.9 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
} |