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; | |||
|  | 			} | |||
|  | 		} | |||
|  | 	} | |||
|  | } |