92 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
	
| using UnityEngine;
 | |
| using System.Collections;
 | |
| using HedgehogTeam.EasyTouch;
 | |
| 
 | |
| public class PinchMe : MonoBehaviour {
 | |
| 
 | |
| 	private TextMesh textMesh;
 | |
| 	
 | |
| 	// Subscribe to events
 | |
| 	void OnEnable(){
 | |
| 		EasyTouch.On_TouchStart2Fingers += On_TouchStart2Fingers;
 | |
| 		EasyTouch.On_PinchIn += On_PinchIn;
 | |
| 		EasyTouch.On_PinchOut += On_PinchOut;
 | |
| 		EasyTouch.On_PinchEnd += On_PinchEnd;
 | |
| 	}
 | |
| 
 | |
| 	void OnDisable(){
 | |
| 		UnsubscribeEvent();
 | |
| 	}
 | |
| 	
 | |
| 	void OnDestroy(){
 | |
| 		UnsubscribeEvent();
 | |
| 	}
 | |
| 	
 | |
| 	// Unsubscribe to events
 | |
| 	void UnsubscribeEvent(){
 | |
| 		EasyTouch.On_TouchStart2Fingers -= On_TouchStart2Fingers;
 | |
| 		EasyTouch.On_PinchIn -= On_PinchIn;
 | |
| 		EasyTouch.On_PinchOut -= On_PinchOut;
 | |
| 		EasyTouch.On_PinchEnd -= On_PinchEnd;
 | |
| 	}
 | |
| 	
 | |
| 	void Start(){
 | |
| 		textMesh =(TextMesh) GetComponentInChildren<TextMesh>();
 | |
| 	}
 | |
| 	
 | |
| 	// At the 2 fingers touch beginning
 | |
| 	private 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( false);
 | |
| 			EasyTouch.SetEnablePinch( true);
 | |
| 		}
 | |
| 	}
 | |
| 	
 | |
| 	// At the pinch in
 | |
| 	private void On_PinchIn(Gesture gesture){
 | |
| 	
 | |
| 		// Verification that the action on the object
 | |
| 		if (gesture.pickedObject == gameObject){
 | |
| 			
 | |
| 			float zoom = Time.deltaTime * gesture.deltaPinch;
 | |
| 		
 | |
| 			Vector3 scale = transform.localScale ;
 | |
| 			transform.localScale = new Vector3( scale.x - zoom, scale.y -zoom, scale.z-zoom);
 | |
| 			
 | |
| 			textMesh.text = "Delta pinch : " + gesture.deltaPinch.ToString();
 | |
| 		}
 | |
| 		
 | |
| 	}
 | |
| 	
 | |
| 	// At the pinch out
 | |
| 	private void On_PinchOut(Gesture gesture){
 | |
| 	
 | |
| 		// Verification that the action on the object
 | |
| 		if (gesture.pickedObject == gameObject){
 | |
| 			float zoom = Time.deltaTime * gesture.deltaPinch;
 | |
| 		
 | |
| 			Vector3  scale = transform.localScale ;
 | |
| 			transform.localScale = new Vector3( scale.x + zoom, scale.y +zoom,scale.z+zoom);
 | |
| 			
 | |
| 			textMesh.text = "Delta pinch : " + gesture.deltaPinch.ToString();
 | |
| 		}
 | |
| 	}
 | |
| 	
 | |
| 	// At the pinch end
 | |
| 	private void On_PinchEnd(Gesture gesture){
 | |
| 
 | |
| 		if (gesture.pickedObject == gameObject){
 | |
| 			transform.localScale =new Vector3(2.5f,2.5f,2.5f);
 | |
| 			EasyTouch.SetEnableTwist( true);
 | |
| 			textMesh.text="Pinch me";
 | |
| 		}
 | |
| 		
 | |
| 	}
 | |
| 	
 | |
| 
 | |
| 	
 | |
| }
 |