89 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
	
| using UnityEngine;
 | |
| using System.Collections;
 | |
| using HedgehogTeam.EasyTouch;
 | |
| 
 | |
| public class UIDrag : MonoBehaviour {
 | |
| 
 | |
| 	private int fingerId = -1;
 | |
| 	private bool drag = true;
 | |
| 	
 | |
| 	void OnEnable(){
 | |
| 		EasyTouch.On_TouchDown += On_TouchDown;
 | |
| 		EasyTouch.On_TouchStart += On_TouchStart;
 | |
| 		EasyTouch.On_TouchUp += On_TouchUp;
 | |
| 		EasyTouch.On_TouchStart2Fingers += On_TouchStart2Fingers;
 | |
| 		EasyTouch.On_TouchDown2Fingers += On_TouchDown2Fingers;
 | |
| 		EasyTouch.On_TouchUp2Fingers += On_TouchUp2Fingers;
 | |
| 	}
 | |
| 
 | |
| 	void OnDestroy(){
 | |
| 		EasyTouch.On_TouchDown -= On_TouchDown;
 | |
| 		EasyTouch.On_TouchStart -= On_TouchStart;
 | |
| 		EasyTouch.On_TouchUp -= On_TouchUp;
 | |
| 		EasyTouch.On_TouchStart2Fingers -= On_TouchStart2Fingers;
 | |
| 		EasyTouch.On_TouchDown2Fingers -= On_TouchDown2Fingers;
 | |
| 		EasyTouch.On_TouchUp2Fingers -= On_TouchUp2Fingers;
 | |
| 	}
 | |
| 	
 | |
| 	void On_TouchStart (Gesture gesture){
 | |
| 
 | |
| 		if (gesture.isOverGui && drag){
 | |
| 			if ((gesture.pickedUIElement == gameObject || gesture.pickedUIElement.transform.IsChildOf( transform)) && fingerId==-1){
 | |
| 				fingerId = gesture.fingerIndex;
 | |
| 				transform.SetAsLastSibling();
 | |
| 			}
 | |
| 		}
 | |
| 		
 | |
| 		
 | |
| 	}
 | |
| 	
 | |
| 	void On_TouchDown (Gesture gesture){
 | |
| 
 | |
| 		if (fingerId == gesture.fingerIndex && drag){
 | |
| 			if (gesture.isOverGui ){
 | |
| 				if ((gesture.pickedUIElement == gameObject || gesture.pickedUIElement.transform.IsChildOf( transform)) ){
 | |
| 					transform.position += (Vector3)gesture.deltaPosition;
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	void On_TouchUp (Gesture gesture){
 | |
| 	
 | |
| 		if (fingerId == gesture.fingerIndex){
 | |
| 			fingerId = -1;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	void On_TouchStart2Fingers (Gesture gesture)
 | |
| 	{
 | |
| 		if (gesture.isOverGui && drag){
 | |
| 			if ((gesture.pickedUIElement == gameObject || gesture.pickedUIElement.transform.IsChildOf( transform)) && fingerId==-1){
 | |
| 				transform.SetAsLastSibling();
 | |
| 			}
 | |
| 		}		
 | |
| 	}
 | |
| 
 | |
| 	
 | |
| 	void On_TouchDown2Fingers (Gesture gesture)
 | |
| 	{
 | |
| 		if (gesture.isOverGui){
 | |
| 			if (gesture.pickedUIElement == gameObject || gesture.pickedUIElement.transform.IsChildOf( transform)){
 | |
| 				if ((gesture.pickedUIElement == gameObject || gesture.pickedUIElement.transform.IsChildOf( transform)) ){
 | |
| 					transform.position += (Vector3)gesture.deltaPosition;
 | |
| 				}
 | |
| 				drag = false;
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	void On_TouchUp2Fingers (Gesture gesture)
 | |
| 	{
 | |
| 		if (gesture.isOverGui){
 | |
| 			if (gesture.pickedUIElement == gameObject || gesture.pickedUIElement.transform.IsChildOf( transform)){
 | |
| 				drag = true;
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| }
 |