98 lines
4.2 KiB
C#
98 lines
4.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using UnityEngine;
|
|
|
|
namespace Thousandto.Core.Base
|
|
{
|
|
/// <summary>
|
|
/// 手指手势的操作 接口定义
|
|
/// </summary>
|
|
public interface IFingerGesturesEvent
|
|
{
|
|
//按下
|
|
event FingerDownEventHandler OnFingerDown;
|
|
//弹起
|
|
event FingerUpEventHandler OnFingerUp;
|
|
|
|
//两个手指的捏操作
|
|
event PinchEventHandler OnPinchBegin;
|
|
event PinchMoveEventHandler OnPinchMove;
|
|
event PinchEventHandler OnPinchEnd;
|
|
|
|
//两个手指的旋转操作
|
|
event RotationBeginEventHandler OnRotationBegin;
|
|
event RotationMoveEventHandler OnRotationMove;
|
|
event RotationEndEventHandler OnRotationEnd;
|
|
|
|
//单个手指的滑动操作
|
|
event FingerMoveEventHandler OnFingerMoveBegin;
|
|
event FingerMoveEventHandler OnFingerMove;
|
|
event FingerMoveEventHandler OnFingerMoveEnd;
|
|
}
|
|
|
|
#region//定义委托
|
|
|
|
/// <summary>
|
|
/// Delegate for the OnFingerDown event
|
|
/// </summary>
|
|
/// <param name="fingerIndex">0-based index uniquely indentifying a specific finger</param>
|
|
/// <param name="fingerPos">Current position of the finger on the screen</param>
|
|
public delegate void FingerDownEventHandler(int fingerIndex, Vector2 fingerPos);
|
|
|
|
/// <summary>
|
|
/// Delegate for the OnFingerUp event
|
|
/// </summary>
|
|
/// <param name="fingerIndex">0-based index uniquely indentifying a specific finger</param>
|
|
/// <param name="fingerPos">Current position of the finger on the screen</param>
|
|
/// <param name="timeHeldDown">How long the finger has been held down before getting released, in seconds</param>
|
|
public delegate void FingerUpEventHandler(int fingerIndex, Vector2 fingerPos, float timeHeldDown);
|
|
|
|
/// <summary>
|
|
/// Delegate for the OnFingerMoveBegin, OnFingerMove, OnFingerMoveEnd events
|
|
/// </summary>
|
|
/// <param name="fingerIndex">0-based index uniquely indentifying a specific finger</param>
|
|
/// <param name="fingerPos">Current position of the finger on the screen</param>
|
|
public delegate void FingerMoveEventHandler(int fingerIndex, Vector2 fingerPos);
|
|
|
|
|
|
/// <summary>
|
|
/// Delegate for the OnPinchBegin and OnPinchEnd events
|
|
/// </summary>
|
|
/// <param name="fingerPos1">First finger screen position</param>
|
|
/// <param name="fingerPos2">Second finger screen position</param>
|
|
public delegate void PinchEventHandler(Vector2 fingerPos1, Vector2 fingerPos2);
|
|
|
|
/// <summary>
|
|
/// Delegate for the OnPinchMove event
|
|
/// </summary>
|
|
/// <param name="fingerPos1">First finger screen position</param>
|
|
/// <param name="fingerPos2">Second finger screen position</param>
|
|
/// <param name="delta">How much the distance between the two fingers has changed since the last update. A negative value means the two fingers got closer, while a positive value means they moved further apart</param>
|
|
public delegate void PinchMoveEventHandler(Vector2 fingerPos1, Vector2 fingerPos2, float delta);
|
|
|
|
/// <summary>
|
|
/// Delegate for the OnRotationBegin event
|
|
/// </summary>
|
|
/// <param name="fingerPos1">First finger screen position</param>
|
|
/// <param name="fingerPos2">Second finger screen position</param>
|
|
public delegate void RotationBeginEventHandler(Vector2 fingerPos1, Vector2 fingerPos2);
|
|
|
|
/// <summary>
|
|
/// Delegate for the OnRotationMove event
|
|
/// </summary>
|
|
/// <param name="fingerPos1">First finger screen position</param>
|
|
/// <param name="fingerPos2">Second finger screen position</param>
|
|
/// <param name="rotationAngleDelta">Angle difference, in degrees, since the last update.</param>
|
|
public delegate void RotationMoveEventHandler(Vector2 fingerPos1, Vector2 fingerPos2, float rotationAngleDelta);
|
|
|
|
/// <summary>
|
|
/// Delegate for the OnRotationEnd event
|
|
/// </summary>
|
|
/// <param name="fingerPos1">First finger screen position</param>
|
|
/// <param name="fingerPos2">Second finger screen position</param>
|
|
/// <param name="totalRotationAngle">Total rotation performed during the gesture, in degrees</param>
|
|
public delegate void RotationEndEventHandler(Vector2 fingerPos1, Vector2 fingerPos2, float totalRotationAngle);
|
|
#endregion
|
|
}
|