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