227 lines
6.4 KiB
C#
227 lines
6.4 KiB
C#
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
|
|
public class DemoOne : MonoBehaviour
|
|
{
|
|
public Transform cube;
|
|
private Vector2 _scrollPosition; // for the scroll view
|
|
public AnimationCurve touchPadInputCurve = AnimationCurve.Linear( 0.0f, 0.0f, 1.0f, 1.0f );
|
|
|
|
|
|
void OnGUI()
|
|
{
|
|
GUI.skin.button.padding = new RectOffset( 10, 10, 20, 20 );
|
|
GUI.skin.button.fixedWidth = 250;
|
|
|
|
|
|
GUILayout.BeginArea( new Rect( Screen.width - GUI.skin.button.fixedWidth - 20, 0, GUI.skin.button.fixedWidth + 20, Screen.height ) );
|
|
_scrollPosition = GUILayout.BeginScrollView( _scrollPosition, GUILayout.Width( GUI.skin.button.fixedWidth + 20 ), GUILayout.Height( Screen.height ) );
|
|
|
|
|
|
if( GUILayout.Button( "Add Tap Recognizer" ) )
|
|
{
|
|
var recognizer = new TKTapRecognizer();
|
|
|
|
// we can limit recognition to a specific Rect, in this case the bottom-left corner of the screen
|
|
recognizer.boundaryFrame = new TKRect( 0, 0, 50f, 50f );
|
|
|
|
// we can also set the number of touches required for the gesture
|
|
if( Application.platform == RuntimePlatform.IPhonePlayer )
|
|
recognizer.numberOfTouchesRequired = 2;
|
|
|
|
recognizer.gestureRecognizedEvent += ( r ) =>
|
|
{
|
|
Debug.Log( "tap recognizer fired: " + r );
|
|
};
|
|
TouchKit.addGestureRecognizer( recognizer );
|
|
}
|
|
|
|
|
|
if( GUILayout.Button( "Add Long Press Recognizer" ) )
|
|
{
|
|
var recognizer = new TKLongPressRecognizer();
|
|
recognizer.gestureRecognizedEvent += ( r ) =>
|
|
{
|
|
Debug.Log( "long press recognizer fired: " + r );
|
|
};
|
|
recognizer.gestureCompleteEvent += ( r ) =>
|
|
{
|
|
Debug.Log( "long press recognizer finished: " + r );
|
|
};
|
|
TouchKit.addGestureRecognizer( recognizer );
|
|
}
|
|
|
|
|
|
if( GUILayout.Button( "Add Pan Recognizer" ) )
|
|
{
|
|
var recognizer = new TKPanRecognizer();
|
|
|
|
// when using in conjunction with a pinch or rotation recognizer setting the min touches to 2 smoothes movement greatly
|
|
if( Application.platform == RuntimePlatform.IPhonePlayer )
|
|
recognizer.minimumNumberOfTouches = 2;
|
|
|
|
recognizer.gestureRecognizedEvent += ( r ) =>
|
|
{
|
|
Camera.main.transform.position -= new Vector3( recognizer.deltaTranslation.x, recognizer.deltaTranslation.y ) / 100;
|
|
Debug.Log( "pan recognizer fired: " + r );
|
|
};
|
|
|
|
// continuous gestures have a complete event so that we know when they are done recognizing
|
|
recognizer.gestureCompleteEvent += r =>
|
|
{
|
|
Debug.Log( "pan gesture complete" );
|
|
};
|
|
TouchKit.addGestureRecognizer( recognizer );
|
|
}
|
|
|
|
|
|
if( GUILayout.Button( "Add TouchPad Recognizer" ) )
|
|
{
|
|
var recognizer = new TKTouchPadRecognizer( new TKRect( 0f, 50f, 80f, 50f ) );
|
|
recognizer.inputCurve = touchPadInputCurve;
|
|
|
|
recognizer.gestureRecognizedEvent += ( r ) =>
|
|
{
|
|
//Camera.main.transform.position -= new Vector3( recognizer.deltaTranslation.x, recognizer.deltaTranslation.y ) / 100;
|
|
Debug.Log( "touchpad recognizer fired: " + r );
|
|
};
|
|
|
|
// continuous gestures have a complete event so that we know when they are done recognizing
|
|
recognizer.gestureCompleteEvent += r =>
|
|
{
|
|
Debug.Log( "touchpad gesture complete" );
|
|
};
|
|
TouchKit.addGestureRecognizer( recognizer );
|
|
}
|
|
|
|
|
|
if( GUILayout.Button( "Add Horizontal Swipe Recognizer" ) )
|
|
{
|
|
var recognizer = new TKSwipeRecognizer();
|
|
recognizer.gestureRecognizedEvent += ( r ) =>
|
|
{
|
|
Debug.Log( "swipe recognizer fired: " + r );
|
|
};
|
|
TouchKit.addGestureRecognizer( recognizer );
|
|
}
|
|
|
|
if( GUILayout.Button( "Add Top-Right Swipe Recognizer" ) )
|
|
{
|
|
var recognizer = new TKAngleSwipeRecognizer();
|
|
recognizer.addAngleRecogizedEvents (
|
|
(TKAngleSwipeRecognizer r) => {
|
|
Debug.Log( "Top-Right angle swipe fired " + r );
|
|
}, new Vector2(1,1), 45);
|
|
|
|
recognizer.gestureRecognizedEvent += r => {
|
|
// You can also do ordinary event, which fires at any angle
|
|
// Debug.Log( "angle swipe recognizer fired: " + r );
|
|
};
|
|
TouchKit.addGestureRecognizer( recognizer );
|
|
}
|
|
|
|
|
|
if( GUILayout.Button( "Add Pinch Recognizer" ) )
|
|
{
|
|
var recognizer = new TKPinchRecognizer();
|
|
recognizer.gestureRecognizedEvent += ( r ) =>
|
|
{
|
|
cube.transform.localScale += Vector3.one * recognizer.deltaScale;
|
|
Debug.Log( "pinch recognizer fired: " + r );
|
|
};
|
|
TouchKit.addGestureRecognizer( recognizer );
|
|
}
|
|
|
|
|
|
if( GUILayout.Button( "Add Rotation Recognizer" ) )
|
|
{
|
|
var recognizer = new TKRotationRecognizer();
|
|
recognizer.gestureRecognizedEvent += ( r ) =>
|
|
{
|
|
cube.Rotate( Vector3.back, recognizer.deltaRotation );
|
|
Debug.Log( "rotation recognizer fired: " + r );
|
|
};
|
|
TouchKit.addGestureRecognizer( recognizer );
|
|
}
|
|
|
|
|
|
if( GUILayout.Button( "Add Button Recognizer" ) )
|
|
{
|
|
var recognizer = new TKButtonRecognizer( new TKRect( 5f, 145f, 80f, 30f ), 10f );
|
|
recognizer.zIndex = 1;
|
|
recognizer.onSelectedEvent += ( r ) =>
|
|
{
|
|
Debug.Log( "button recognizer selected: " + r );
|
|
};
|
|
recognizer.onDeselectedEvent += ( r ) =>
|
|
{
|
|
Debug.Log( "button recognizer deselected: " + r );
|
|
};
|
|
recognizer.onTouchUpInsideEvent += ( r ) =>
|
|
{
|
|
Debug.Log( "button recognizer touch up inside: " + r );
|
|
};
|
|
TouchKit.addGestureRecognizer( recognizer );
|
|
}
|
|
|
|
|
|
if( GUILayout.Button( "Add One Finger Rotation Recognizer" ) )
|
|
{
|
|
var recognizer = new TKOneFingerRotationRecognizer();
|
|
recognizer.targetPosition = Camera.main.WorldToScreenPoint( cube.position );
|
|
recognizer.gestureRecognizedEvent += ( r ) =>
|
|
{
|
|
cube.Rotate( Vector3.back, recognizer.deltaRotation );
|
|
Debug.Log( "one finger rotation recognizer fired: " + r );
|
|
};
|
|
TouchKit.addGestureRecognizer( recognizer );
|
|
}
|
|
|
|
|
|
if( GUILayout.Button( "Add Any Touch Recognizer" ) )
|
|
{
|
|
var recognizer = new TKAnyTouchRecognizer( new TKRect( 10, 10, 80, 50 ) );
|
|
recognizer.zIndex = 1;
|
|
recognizer.onEnteredEvent += ( r ) =>
|
|
{
|
|
Debug.Log( "any touch entered: " + r );
|
|
};
|
|
recognizer.onExitedEvent += ( r ) =>
|
|
{
|
|
Debug.Log( "any touch exited: " + r );
|
|
};
|
|
TouchKit.addGestureRecognizer( recognizer );
|
|
}
|
|
|
|
|
|
if( GUILayout.Button( "Add Curve Recognizer" ) )
|
|
{
|
|
var recognizer = new TKCurveRecognizer();
|
|
|
|
recognizer.gestureRecognizedEvent += ( r ) =>
|
|
{
|
|
cube.Rotate( Vector3.back, recognizer.deltaRotation );
|
|
Debug.Log( "curve recognizer fired: " + r );
|
|
};
|
|
|
|
recognizer.gestureCompleteEvent += ( r ) =>
|
|
{
|
|
Debug.Log( "curve completed.");
|
|
};
|
|
|
|
TouchKit.addGestureRecognizer( recognizer );
|
|
}
|
|
|
|
|
|
if( GUILayout.Button( "Remove All Recognizers" ) )
|
|
{
|
|
TouchKit.removeAllGestureRecognizers();
|
|
}
|
|
|
|
|
|
GUILayout.EndScrollView();
|
|
GUILayout.EndArea();
|
|
}
|
|
}
|