526 lines
16 KiB
C#
526 lines
16 KiB
C#
|
|
/***********************************************
|
||
|
|
EasyTouch V
|
||
|
|
Copyright © 2014-2015 The Hedgehog Team
|
||
|
|
http://www.thehedgehogteam.com/Forum/
|
||
|
|
|
||
|
|
The.Hedgehog.Team@gmail.com
|
||
|
|
|
||
|
|
**********************************************/
|
||
|
|
using UnityEngine;
|
||
|
|
using System.Collections;
|
||
|
|
using System.Collections.Generic;
|
||
|
|
|
||
|
|
|
||
|
|
namespace HedgehogTeam.EasyTouch{
|
||
|
|
[AddComponentMenu("EasyTouch/Trigger")]
|
||
|
|
[System.Serializable]
|
||
|
|
public class EasyTouchTrigger : MonoBehaviour {
|
||
|
|
|
||
|
|
public enum ETTParameter{ None,Gesture, Finger_Id,Touch_Count, Start_Position, Position, Delta_Position, Swipe_Type, Swipe_Length, Swipe_Vector,Delta_Pinch, Twist_Anlge, ActionTime, DeltaTime, PickedObject, PickedUIElement }
|
||
|
|
public enum ETTType {Object3D,UI};
|
||
|
|
|
||
|
|
[System.Serializable]
|
||
|
|
public class EasyTouchReceiver{
|
||
|
|
public bool enable;
|
||
|
|
public ETTType triggerType;
|
||
|
|
public string name;
|
||
|
|
public bool restricted;
|
||
|
|
public GameObject gameObject;
|
||
|
|
public bool otherReceiver;
|
||
|
|
public GameObject gameObjectReceiver;
|
||
|
|
public EasyTouch.EvtType eventName;
|
||
|
|
public string methodName;
|
||
|
|
public ETTParameter parameter;
|
||
|
|
}
|
||
|
|
|
||
|
|
[SerializeField]
|
||
|
|
public List<EasyTouchReceiver> receivers = new List<EasyTouchReceiver>();
|
||
|
|
|
||
|
|
#region Monobehaviour Callback
|
||
|
|
void Start(){
|
||
|
|
EasyTouch.SetEnableAutoSelect( true);
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
void OnEnable(){
|
||
|
|
SubscribeEasyTouchEvent();
|
||
|
|
}
|
||
|
|
|
||
|
|
void OnDisable(){
|
||
|
|
UnsubscribeEasyTouchEvent();
|
||
|
|
}
|
||
|
|
|
||
|
|
void OnDestroy(){
|
||
|
|
UnsubscribeEasyTouchEvent();
|
||
|
|
}
|
||
|
|
|
||
|
|
private void SubscribeEasyTouchEvent(){
|
||
|
|
|
||
|
|
// Touch
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_Cancel))
|
||
|
|
EasyTouch.On_Cancel += On_Cancel;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_TouchStart))
|
||
|
|
EasyTouch.On_TouchStart += On_TouchStart;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_TouchDown))
|
||
|
|
EasyTouch.On_TouchDown += On_TouchDown;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_TouchUp))
|
||
|
|
EasyTouch.On_TouchUp += On_TouchUp;
|
||
|
|
|
||
|
|
// Tap & long tap
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_SimpleTap))
|
||
|
|
EasyTouch.On_SimpleTap += On_SimpleTap;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_LongTapStart))
|
||
|
|
EasyTouch.On_LongTapStart += On_LongTapStart;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_LongTap))
|
||
|
|
EasyTouch.On_LongTap += On_LongTap;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_LongTapEnd))
|
||
|
|
EasyTouch.On_LongTapEnd += On_LongTapEnd;
|
||
|
|
|
||
|
|
// Double tap
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_DoubleTap))
|
||
|
|
EasyTouch.On_DoubleTap += On_DoubleTap;
|
||
|
|
|
||
|
|
// Drag
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_DragStart))
|
||
|
|
EasyTouch.On_DragStart += On_DragStart;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_Drag))
|
||
|
|
EasyTouch.On_Drag += On_Drag;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_DragEnd))
|
||
|
|
EasyTouch.On_DragEnd += On_DragEnd;
|
||
|
|
|
||
|
|
// Swipe
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_SwipeStart))
|
||
|
|
EasyTouch.On_SwipeStart += On_SwipeStart;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_Swipe))
|
||
|
|
EasyTouch.On_Swipe += On_Swipe;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_SwipeEnd))
|
||
|
|
EasyTouch.On_SwipeEnd += On_SwipeEnd;
|
||
|
|
|
||
|
|
// Tap 2 fingers
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_TouchStart2Fingers))
|
||
|
|
EasyTouch.On_TouchStart2Fingers += On_TouchStart2Fingers;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_TouchDown2Fingers))
|
||
|
|
EasyTouch.On_TouchDown2Fingers += On_TouchDown2Fingers;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_TouchUp2Fingers))
|
||
|
|
EasyTouch.On_TouchUp2Fingers += On_TouchUp2Fingers;
|
||
|
|
|
||
|
|
// Tap & Long tap 2 fingers
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_SimpleTap2Fingers))
|
||
|
|
EasyTouch.On_SimpleTap2Fingers+= On_SimpleTap2Fingers;
|
||
|
|
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_LongTapStart2Fingers))
|
||
|
|
EasyTouch.On_LongTapStart2Fingers += On_LongTapStart2Fingers;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_LongTap2Fingers))
|
||
|
|
EasyTouch.On_LongTap2Fingers += On_LongTap2Fingers;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_LongTapEnd2Fingers))
|
||
|
|
EasyTouch.On_LongTapEnd2Fingers += On_LongTapEnd2Fingers;
|
||
|
|
|
||
|
|
// double tap fingers
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_DoubleTap2Fingers))
|
||
|
|
EasyTouch.On_DoubleTap2Fingers += On_DoubleTap2Fingers;
|
||
|
|
|
||
|
|
// Swipe
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_SwipeStart2Fingers))
|
||
|
|
EasyTouch.On_SwipeStart2Fingers += On_SwipeStart2Fingers;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_Swipe2Fingers))
|
||
|
|
EasyTouch.On_Swipe2Fingers += On_Swipe2Fingers;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_SwipeEnd2Fingers))
|
||
|
|
EasyTouch.On_SwipeEnd2Fingers += On_SwipeEnd2Fingers;
|
||
|
|
|
||
|
|
// Drag
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_DragStart2Fingers))
|
||
|
|
EasyTouch.On_DragStart2Fingers += On_DragStart2Fingers;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_Drag2Fingers))
|
||
|
|
EasyTouch.On_Drag2Fingers += On_Drag2Fingers;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_DragEnd2Fingers))
|
||
|
|
EasyTouch.On_DragEnd2Fingers += On_DragEnd2Fingers;
|
||
|
|
|
||
|
|
// Pinch
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_Pinch))
|
||
|
|
EasyTouch.On_Pinch += On_Pinch;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_PinchIn))
|
||
|
|
EasyTouch.On_PinchIn += On_PinchIn;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_PinchOut))
|
||
|
|
EasyTouch.On_PinchOut += On_PinchOut;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_PinchEnd))
|
||
|
|
EasyTouch.On_PinchEnd += On_PinchEnd;
|
||
|
|
|
||
|
|
// Twist
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_Twist))
|
||
|
|
EasyTouch.On_Twist += On_Twist;
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_TwistEnd))
|
||
|
|
EasyTouch.On_TwistEnd += On_TwistEnd;
|
||
|
|
|
||
|
|
// Unity UI
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_OverUIElement))
|
||
|
|
EasyTouch.On_OverUIElement += On_OverUIElement;
|
||
|
|
|
||
|
|
if (IsRecevier4( EasyTouch.EvtType.On_UIElementTouchUp))
|
||
|
|
EasyTouch.On_UIElementTouchUp += On_UIElementTouchUp;
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
private void UnsubscribeEasyTouchEvent(){
|
||
|
|
EasyTouch.On_Cancel -= On_Cancel;
|
||
|
|
EasyTouch.On_TouchStart -= On_TouchStart;
|
||
|
|
EasyTouch.On_TouchDown -= On_TouchDown;
|
||
|
|
EasyTouch.On_TouchUp -= On_TouchUp;
|
||
|
|
|
||
|
|
EasyTouch.On_SimpleTap -= On_SimpleTap;
|
||
|
|
EasyTouch.On_LongTapStart -= On_LongTapStart;
|
||
|
|
EasyTouch.On_LongTap -= On_LongTap;
|
||
|
|
EasyTouch.On_LongTapEnd -= On_LongTapEnd;
|
||
|
|
|
||
|
|
EasyTouch.On_DoubleTap -= On_DoubleTap;
|
||
|
|
|
||
|
|
EasyTouch.On_DragStart -= On_DragStart;
|
||
|
|
EasyTouch.On_Drag -= On_Drag;
|
||
|
|
EasyTouch.On_DragEnd -= On_DragEnd;
|
||
|
|
|
||
|
|
EasyTouch.On_SwipeStart -= On_SwipeStart;
|
||
|
|
EasyTouch.On_Swipe -= On_Swipe;
|
||
|
|
EasyTouch.On_SwipeEnd -= On_SwipeEnd;
|
||
|
|
|
||
|
|
EasyTouch.On_TouchStart2Fingers -= On_TouchStart2Fingers;
|
||
|
|
EasyTouch.On_TouchDown2Fingers -= On_TouchDown2Fingers;
|
||
|
|
EasyTouch.On_TouchUp2Fingers -= On_TouchUp2Fingers;
|
||
|
|
|
||
|
|
EasyTouch.On_SimpleTap2Fingers-= On_SimpleTap2Fingers;
|
||
|
|
EasyTouch.On_LongTapStart2Fingers -= On_LongTapStart2Fingers;
|
||
|
|
EasyTouch.On_LongTap2Fingers -= On_LongTap2Fingers;
|
||
|
|
EasyTouch.On_LongTapEnd2Fingers -= On_LongTapEnd2Fingers;
|
||
|
|
|
||
|
|
EasyTouch.On_DoubleTap2Fingers -= On_DoubleTap2Fingers;
|
||
|
|
|
||
|
|
EasyTouch.On_SwipeStart2Fingers -= On_SwipeStart2Fingers;
|
||
|
|
EasyTouch.On_Swipe2Fingers -= On_Swipe2Fingers;
|
||
|
|
EasyTouch.On_SwipeEnd2Fingers -= On_SwipeEnd2Fingers;
|
||
|
|
|
||
|
|
EasyTouch.On_DragStart2Fingers -= On_DragStart2Fingers;
|
||
|
|
EasyTouch.On_Drag2Fingers -= On_Drag2Fingers;
|
||
|
|
EasyTouch.On_DragEnd2Fingers -= On_DragEnd2Fingers;
|
||
|
|
|
||
|
|
EasyTouch.On_Pinch -= On_Pinch;
|
||
|
|
EasyTouch.On_PinchIn -= On_PinchIn;
|
||
|
|
EasyTouch.On_PinchOut -= On_PinchOut;
|
||
|
|
EasyTouch.On_PinchEnd -= On_PinchEnd;
|
||
|
|
|
||
|
|
EasyTouch.On_Twist -= On_Twist;
|
||
|
|
EasyTouch.On_TwistEnd -= On_TwistEnd;
|
||
|
|
|
||
|
|
EasyTouch.On_OverUIElement += On_OverUIElement;
|
||
|
|
EasyTouch.On_UIElementTouchUp += On_UIElementTouchUp;
|
||
|
|
|
||
|
|
}
|
||
|
|
#endregion
|
||
|
|
|
||
|
|
#region One Finger EasyTouch Callback
|
||
|
|
|
||
|
|
void On_TouchStart (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_TouchStart,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_TouchDown (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_TouchDown,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_TouchUp (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_TouchUp,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_SimpleTap (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_SimpleTap,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_DoubleTap (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_DoubleTap,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_LongTapStart (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_LongTapStart,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_LongTap (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_LongTap,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_LongTapEnd (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_LongTapEnd,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_SwipeStart (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_SwipeStart,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_Swipe (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_Swipe,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_SwipeEnd (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_SwipeEnd,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_DragStart (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_DragStart,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_Drag (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_Drag,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_DragEnd (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_DragEnd,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_Cancel (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_Cancel,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
#endregion
|
||
|
|
|
||
|
|
#region Two Finger EasyTouch Callback
|
||
|
|
void On_TouchStart2Fingers (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_TouchStart2Fingers,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_TouchDown2Fingers (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_TouchDown2Fingers,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_TouchUp2Fingers (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_TouchUp2Fingers,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_LongTapStart2Fingers (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_LongTapStart2Fingers,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_LongTap2Fingers (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_LongTap2Fingers,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_LongTapEnd2Fingers (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_LongTapEnd2Fingers,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_DragStart2Fingers (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_DragStart2Fingers,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_Drag2Fingers (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_Drag2Fingers,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_DragEnd2Fingers (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_DragEnd2Fingers,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_SwipeStart2Fingers (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_SwipeStart2Fingers,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_Swipe2Fingers (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_Swipe2Fingers,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_SwipeEnd2Fingers (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_SwipeEnd2Fingers,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_Twist (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_Twist,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_TwistEnd (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_TwistEnd,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_Pinch (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_Pinch,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_PinchOut (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_PinchOut,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_PinchIn (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_PinchIn,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_PinchEnd (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_PinchEnd,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_SimpleTap2Fingers (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_SimpleTap2Fingers,gesture);
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_DoubleTap2Fingers (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_DoubleTap2Fingers,gesture);
|
||
|
|
}
|
||
|
|
#endregion
|
||
|
|
|
||
|
|
#region UI Event
|
||
|
|
void On_UIElementTouchUp (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_UIElementTouchUp,gesture);
|
||
|
|
}
|
||
|
|
|
||
|
|
void On_OverUIElement (Gesture gesture){
|
||
|
|
TriggerScheduler(EasyTouch.EvtType.On_OverUIElement,gesture);
|
||
|
|
}
|
||
|
|
#endregion
|
||
|
|
|
||
|
|
#region Public Method
|
||
|
|
public void AddTrigger(EasyTouch.EvtType ev){
|
||
|
|
EasyTouchReceiver r = new EasyTouchReceiver();
|
||
|
|
r.enable = true;
|
||
|
|
r.restricted = true;
|
||
|
|
r.eventName = ev;
|
||
|
|
r.gameObject =null;
|
||
|
|
r.otherReceiver = false;
|
||
|
|
r.name = "New trigger";
|
||
|
|
receivers.Add( r );
|
||
|
|
|
||
|
|
if (Application.isPlaying){
|
||
|
|
UnsubscribeEasyTouchEvent();
|
||
|
|
SubscribeEasyTouchEvent();
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
public bool SetTriggerEnable(string triggerName,bool value){
|
||
|
|
|
||
|
|
EasyTouchReceiver r =GetTrigger( triggerName);
|
||
|
|
|
||
|
|
if (r!=null){
|
||
|
|
r.enable = value;
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
else{
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public bool GetTriggerEnable(string triggerName){
|
||
|
|
|
||
|
|
EasyTouchReceiver r =GetTrigger( triggerName);
|
||
|
|
|
||
|
|
if (r!=null){
|
||
|
|
return r.enable;
|
||
|
|
}
|
||
|
|
else{
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#endregion
|
||
|
|
|
||
|
|
#region Private Method
|
||
|
|
private void TriggerScheduler(EasyTouch.EvtType evnt, Gesture gesture){
|
||
|
|
|
||
|
|
foreach( EasyTouchReceiver receiver in receivers){
|
||
|
|
|
||
|
|
if (receiver.enable && receiver.eventName == evnt){
|
||
|
|
if (
|
||
|
|
(receiver.restricted && ( (gesture.pickedObject == gameObject && receiver.triggerType == ETTType.Object3D ) || ( gesture.pickedUIElement == gameObject && receiver.triggerType == ETTType.UI ) ))
|
||
|
|
|
||
|
|
|| (!receiver.restricted && (receiver.gameObject == null || ((receiver.gameObject == gesture.pickedObject && receiver.triggerType == ETTType.Object3D ) || ( gesture.pickedUIElement == receiver.gameObject && receiver.triggerType == ETTType.UI ) ) ))
|
||
|
|
|
||
|
|
){
|
||
|
|
|
||
|
|
GameObject sender = gameObject;
|
||
|
|
if (receiver.otherReceiver && receiver.gameObjectReceiver!=null){
|
||
|
|
sender = receiver.gameObjectReceiver;
|
||
|
|
}
|
||
|
|
switch (receiver.parameter){
|
||
|
|
case ETTParameter.None:
|
||
|
|
sender.SendMessage( receiver.methodName,SendMessageOptions.DontRequireReceiver);
|
||
|
|
break;
|
||
|
|
case ETTParameter.ActionTime:
|
||
|
|
sender.SendMessage( receiver.methodName,gesture.actionTime,SendMessageOptions.DontRequireReceiver);
|
||
|
|
break;
|
||
|
|
case ETTParameter.Delta_Pinch:
|
||
|
|
sender.SendMessage( receiver.methodName,gesture.deltaPinch,SendMessageOptions.DontRequireReceiver);
|
||
|
|
break;
|
||
|
|
case ETTParameter.Delta_Position:
|
||
|
|
sender.SendMessage( receiver.methodName,gesture.deltaPosition,SendMessageOptions.DontRequireReceiver);
|
||
|
|
break;
|
||
|
|
case ETTParameter.DeltaTime:
|
||
|
|
sender.SendMessage( receiver.methodName,gesture.deltaTime,SendMessageOptions.DontRequireReceiver);
|
||
|
|
break;
|
||
|
|
case ETTParameter.Finger_Id:
|
||
|
|
sender.SendMessage( receiver.methodName,gesture.fingerIndex,SendMessageOptions.DontRequireReceiver);
|
||
|
|
break;
|
||
|
|
case ETTParameter.Gesture:
|
||
|
|
sender.SendMessage( receiver.methodName,gesture,SendMessageOptions.DontRequireReceiver);
|
||
|
|
break;
|
||
|
|
case ETTParameter.PickedObject:
|
||
|
|
if (gesture.pickedObject!=null){
|
||
|
|
sender.SendMessage( receiver.methodName,gesture.pickedObject,SendMessageOptions.DontRequireReceiver);
|
||
|
|
}
|
||
|
|
break;
|
||
|
|
case ETTParameter.PickedUIElement:
|
||
|
|
if (gesture.pickedUIElement!=null){
|
||
|
|
sender.SendMessage( receiver.methodName,gesture.pickedObject,SendMessageOptions.DontRequireReceiver);
|
||
|
|
}
|
||
|
|
break;
|
||
|
|
case ETTParameter.Position:
|
||
|
|
sender.SendMessage( receiver.methodName,gesture.position,SendMessageOptions.DontRequireReceiver);
|
||
|
|
break;
|
||
|
|
case ETTParameter.Start_Position:
|
||
|
|
sender.SendMessage( receiver.methodName,gesture.startPosition,SendMessageOptions.DontRequireReceiver);
|
||
|
|
break;
|
||
|
|
case ETTParameter.Swipe_Length:
|
||
|
|
sender.SendMessage( receiver.methodName,gesture.swipeLength,SendMessageOptions.DontRequireReceiver);
|
||
|
|
break;
|
||
|
|
case ETTParameter.Swipe_Type:
|
||
|
|
sender.SendMessage( receiver.methodName,gesture.swipe,SendMessageOptions.DontRequireReceiver);
|
||
|
|
break;
|
||
|
|
case ETTParameter.Swipe_Vector:
|
||
|
|
sender.SendMessage( receiver.methodName,gesture.swipeVector,SendMessageOptions.DontRequireReceiver);
|
||
|
|
break;
|
||
|
|
case ETTParameter.Touch_Count:
|
||
|
|
sender.SendMessage( receiver.methodName,gesture.touchCount,SendMessageOptions.DontRequireReceiver);
|
||
|
|
break;
|
||
|
|
case ETTParameter.Twist_Anlge:
|
||
|
|
sender.SendMessage( receiver.methodName,gesture.twistAngle,SendMessageOptions.DontRequireReceiver);
|
||
|
|
break;
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
private bool IsRecevier4(EasyTouch.EvtType evnt){
|
||
|
|
|
||
|
|
int result = receivers.FindIndex(
|
||
|
|
delegate(EasyTouchTrigger.EasyTouchReceiver e){
|
||
|
|
return e.eventName == evnt;
|
||
|
|
}
|
||
|
|
);
|
||
|
|
|
||
|
|
if (result>-1){
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
else{
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
private EasyTouchReceiver GetTrigger(string triggerName){
|
||
|
|
EasyTouchTrigger.EasyTouchReceiver t = receivers.Find(
|
||
|
|
delegate(EasyTouchTrigger.EasyTouchReceiver n){
|
||
|
|
return n.name == triggerName;
|
||
|
|
}
|
||
|
|
);
|
||
|
|
|
||
|
|
return t;
|
||
|
|
}
|
||
|
|
|
||
|
|
#endregion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|