//--------------------------------------------------------
|
// [Author]: 玩个游戏
|
// [ Date ]: Saturday, March 16, 2019
|
//--------------------------------------------------------
|
using System;
|
using UnityEngine;
|
using UnityEngine.Events;
|
using UnityEngine.EventSystems;
|
|
public class GestureCatcher : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
|
{
|
Action<Vector2> m_OnDrag;
|
Vector2 prePosition = Vector2.zero;
|
|
public void SetDragListener(Action<Vector2> callBack)
|
{
|
m_OnDrag = callBack;
|
}
|
|
public void RemoveListener()
|
{
|
m_OnDrag = null;
|
}
|
|
public void OnBeginDrag(PointerEventData eventData)
|
{
|
prePosition = eventData.position;
|
}
|
|
public void OnDrag(PointerEventData eventData)
|
{
|
var deltaPosition = eventData.position - prePosition;
|
m_OnDrag.Invoke(deltaPosition);
|
prePosition = eventData.position;
|
}
|
|
public void OnEndDrag(PointerEventData eventData)
|
{
|
prePosition = eventData.position;
|
}
|
|
}
|