78 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			78 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using UnityEngine; | ||
|  | using System.Collections; | ||
|  | using HedgehogTeam.EasyTouch; | ||
|  | 
 | ||
|  | public class TwistMe : MonoBehaviour { | ||
|  | 
 | ||
|  | 	private TextMesh textMesh; | ||
|  | 		 | ||
|  | 	// Subscribe to events | ||
|  | 	void OnEnable(){ | ||
|  | 		EasyTouch.On_TouchStart2Fingers += On_TouchStart2Fingers; | ||
|  | 		EasyTouch.On_Twist += On_Twist; | ||
|  | 		EasyTouch.On_TwistEnd += On_TwistEnd; | ||
|  | 		EasyTouch.On_Cancel2Fingers += On_Cancel2Fingers; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	void OnDisable(){ | ||
|  | 		UnsubscribeEvent(); | ||
|  | 	} | ||
|  | 	 | ||
|  | 	void OnDestroy(){ | ||
|  | 		UnsubscribeEvent(); | ||
|  | 	} | ||
|  | 	 | ||
|  | 	void UnsubscribeEvent(){ | ||
|  | 		EasyTouch.On_TouchStart2Fingers -= On_TouchStart2Fingers; | ||
|  | 		EasyTouch.On_Twist -= On_Twist; | ||
|  | 		EasyTouch.On_TwistEnd -= On_TwistEnd; | ||
|  | 		EasyTouch.On_Cancel2Fingers -= On_Cancel2Fingers; | ||
|  | 	} | ||
|  | 	 | ||
|  | 	void Start(){ | ||
|  | 		textMesh =(TextMesh) GetComponentInChildren<TextMesh>(); | ||
|  | 	} | ||
|  | 	 | ||
|  | 
 | ||
|  | 	void On_TouchStart2Fingers(Gesture gesture){ | ||
|  | 
 | ||
|  | 		// Verification that the action on the object | ||
|  | 		if (gesture.pickedObject == gameObject ){		 | ||
|  | 
 | ||
|  | 			// disable twist gesture recognize for a real pinch end | ||
|  | 			EasyTouch.SetEnableTwist( true); | ||
|  | 			EasyTouch.SetEnablePinch( false); | ||
|  | 		} | ||
|  | 
 | ||
|  | 	} | ||
|  | 
 | ||
|  | 	// during the txist | ||
|  | 	void On_Twist( Gesture gesture){ | ||
|  | 
 | ||
|  | 		// Verification that the action on the object | ||
|  | 		if (gesture.pickedObject == gameObject){	 | ||
|  | 			transform.Rotate( new Vector3(0,0,gesture.twistAngle)); | ||
|  | 			textMesh.text = "Delta angle : " + gesture.twistAngle.ToString(); | ||
|  | 		} | ||
|  | 	} | ||
|  | 
 | ||
|  | 
 | ||
|  | 	// at the twist end | ||
|  | 	void On_TwistEnd( Gesture gesture){ | ||
|  | 
 | ||
|  | 		// Verification that the action on the object | ||
|  | 		if (gesture.pickedObject == gameObject){ | ||
|  | 			EasyTouch.SetEnablePinch( true); | ||
|  | 			transform.rotation = Quaternion.identity; | ||
|  | 			textMesh.text ="Twist me"; | ||
|  | 		} | ||
|  | 	} | ||
|  | 	 | ||
|  | 	// If the two finger gesture is finished | ||
|  | 	void On_Cancel2Fingers(Gesture gesture){ | ||
|  | 		EasyTouch.SetEnablePinch( true); | ||
|  | 		transform.rotation = Quaternion.identity; | ||
|  | 		textMesh.text ="Twist me"; | ||
|  | 	} | ||
|  | } |