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