using UnityEngine; using System.Collections; /// <summary> /// The desktop implementation of FingerGestures, using mouse device input /// </summary> public class MouseGestures : FingerGestures { // Number of mouse buttons to track public int maxMouseButtons = 3; protected override void Start() { base.Start(); } public override int MaxFingers { get { return maxMouseButtons; } } protected override FingerGestures.FingerPhase GetPhase( Finger finger ) { int button = finger.Index; // did we just press it? if( Input.GetMouseButtonDown( button ) ) return FingerPhase.Began; // mouse button down? if( Input.GetMouseButton( button ) ) { // find out if the mouse has moved since last update Vector3 delta = GetPosition( finger ) - finger.Position; if( delta.sqrMagnitude < 1.0f ) return FingerPhase.Stationary; return FingerPhase.Moved; } // did we just release the button? if( Input.GetMouseButtonUp( button ) ) return FingerPhase.Ended; return FingerPhase.None; } protected override Vector2 GetPosition( Finger finger ) { return Input.mousePosition; } }