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