/// <summary> /// Transition to a new GestureRecognizer. /// </summary> /// <param name="newRecognizer">The GestureRecognizer to transition to.</param> public void Transition(UnityEngine.XR.WSA.Input.GestureRecognizer newRecognizer) { if (newRecognizer == null) { return; } if (ActiveRecognizer != null) { if (ActiveRecognizer == newRecognizer) { return; } ActiveRecognizer.CancelGestures(); ActiveRecognizer.StopCapturingGestures(); } newRecognizer.StartCapturingGestures(); ActiveRecognizer = newRecognizer; }
/// <summary> /// Transition to a new GestureRecognizer. /// </summary> /// <param name="newRecognizer">The GestureRecognizer to transition to.</param> public void Transition(UnityEngine.XR.WSA.Input.GestureRecognizer newRecognizer) { // GRAB EVENT works nowhere in here!!!!! ---------------------------------------------------- // ReleasedEvent.Invoke(); // Cant use it here, just keeps blinking // print("TRANSITION"); if (newRecognizer == null) { // ReleasedEvent.Invoke(); // no effect here return; } if (ActiveRecognizer != null) { if (ActiveRecognizer == newRecognizer) { // ReleasedEvent.Invoke(); // blinks here too return; } ActiveRecognizer.CancelGestures(); ActiveRecognizer.StopCapturingGestures(); // ReleasedEvent.Invoke(); does nothing here } // ReleasedEvent.Invoke(); // does nothing newRecognizer.StartCapturingGestures(); ActiveRecognizer = newRecognizer; } // END TRANSITION
/// <summary> /// Revert back to the default GestureRecognizer. /// </summary> public void ResetGestureRecognizers() { // Default to the manipulation gestures. //Transition(ManipulationRecognizer); ActiveRecognizer = ManipulationRecognizer; ActiveRecognizer.StartCapturingGestures(); }
public void Transition(GestureRecognizer newRecognizer) { if (newRecognizer == null) { return; } if (ActiveRecognizer != null) { if (ActiveRecognizer == newRecognizer) { return; } ActiveRecognizer.CancelGestures(); ActiveRecognizer.StopCapturingGestures(); } newRecognizer.StartCapturingGestures(); ActiveRecognizer = newRecognizer; //Display or hide the manipulation visual if (ActiveRecognizer == ManipulationRecognizer) { visualHolder.SettingMode(); } else { visualHolder.LeaveSettingMode(); } }
void LateUpdate() { GameObject oldFocusedObject = focusedObject; if (GazeManager.Instance.Hit && OverrideFocusedObject == null && GazeManager.Instance.HitInfo.collider != null) { // If gaze hits a hologram, set the focused object to that game object. // Also if the caller has not decided to override the focused object. focusedObject = GazeManager.Instance.HitInfo.collider.gameObject; } else { // If our gaze doesn't hit a hologram, set the focused object to null or override focused object. focusedObject = OverrideFocusedObject; } if (focusedObject != oldFocusedObject) { // If the currently focused object doesn't match the old focused object, cancel the current gesture. // Start looking for new gestures. This is to prevent applying gestures from one hologram to another. ActiveRecognizer.CancelGestures(); ActiveRecognizer.StartCapturingGestures(); } }
/// <summary> /// Transition to a new GestureRecognizer. /// </summary> /// <param name="newRecognizer">The GestureRecognizer to transition to.</param> public void Transition(GestureRecognizer newRecognizer) { bool isNavigationRecognizer = newRecognizer == NavigationRecognizer; Debug.Log("Transition isNavigationRecognizer: " + isNavigationRecognizer); if (newRecognizer == null) { return; } Debug.Log("BEFORE NavigationRecognizer IsCapturingGestures" + NavigationRecognizer.IsCapturingGestures()); if (ActiveRecognizer != null) { if (ActiveRecognizer == newRecognizer) { return; } ActiveRecognizer.CancelGestures(); ActiveRecognizer.StopCapturingGestures(); } Debug.Log("AFTER NavigationRecognizer IsCapturingGestures" + NavigationRecognizer.IsCapturingGestures()); newRecognizer.StartCapturingGestures(); ActiveRecognizer = newRecognizer; }
/// <summary> /// to switch recongnizer in cast there are not only one recognizer /// </summary> /// <param name="newRecognizer"> The recognizer to be started</param> public void SwitchRecognizer(GestureRecognizer newRecognizer) { if (newRecognizer == null) { return; } if (ActiveRecognizer != null) { if (ActiveRecognizer == newRecognizer) { return; } ActiveRecognizer.CancelGestures(); ActiveRecognizer.StopCapturingGestures(); } newRecognizer.StartCapturingGestures(); ActiveRecognizer = newRecognizer; }
public void SwitchRecognizer(GestureRecognizer newRecognizer) { Debug.Log("To active is " + newRecognizer.ToString()); if (newRecognizer == null) { return; } if (ActiveRecognizer != null) { if (ActiveRecognizer == newRecognizer) { return; } ActiveRecognizer.CancelGestures(); ActiveRecognizer.StopCapturingGestures(); } newRecognizer.StartCapturingGestures(); ActiveRecognizer = newRecognizer; }
void Start() { // Create a new GestureRecognizer. Sign up for tapped events. ClickRecognizer = new UnityEngine.VR.WSA.Input.GestureRecognizer(); ClickRecognizer.SetRecognizableGestures(UnityEngine.VR.WSA.Input.GestureSettings.Tap); ClickRecognizer.TappedEvent += ClickRecognizer_TappedEvent; // Move Gesture MoveRecognizer = new UnityEngine.VR.WSA.Input.GestureRecognizer(); MoveRecognizer.SetRecognizableGestures(UnityEngine.VR.WSA.Input.GestureSettings.ManipulationTranslate); MoveRecognizer.ManipulationStartedEvent += MoveRecognizer_ManipulationStartedEvent; MoveRecognizer.ManipulationUpdatedEvent += MoveRecognizer_ManipulationUpdatedEvent; MoveRecognizer.ManipulationCompletedEvent += MoveRecognizer_ManipulationCompletedEvent; MoveRecognizer.ManipulationCanceledEvent += MoveRecognizer_ManipulationCanceledEvent; // Rotate Gestrue RotateRecognizer = new UnityEngine.VR.WSA.Input.GestureRecognizer(); RotateRecognizer.SetRecognizableGestures(UnityEngine.VR.WSA.Input.GestureSettings.NavigationX); RotateRecognizer.NavigationStartedEvent += RotateRecognizer_NavigationStartedEvent; RotateRecognizer.NavigationUpdatedEvent += RotateRecognizer_NavigationUpdatedEvent; RotateRecognizer.NavigationCompletedEvent += RotateRecognizer_NavigationCompletedEvent; RotateRecognizer.NavigationCanceledEvent += RotateRecognizer_NavigationCanceledEvent; // Zoom Gesture ZoomRecognizer = new UnityEngine.VR.WSA.Input.GestureRecognizer(); ZoomRecognizer.SetRecognizableGestures(UnityEngine.VR.WSA.Input.GestureSettings.NavigationY); ZoomRecognizer.NavigationStartedEvent += ZoomRecognizer_NavigationStartedEvent; ZoomRecognizer.NavigationUpdatedEvent += ZoomRecognizer_NavigationUpdatedEvent; ZoomRecognizer.NavigationCompletedEvent += ZoomRecognizer_NavigationCompletedEvent; ZoomRecognizer.NavigationCanceledEvent += ZoomRecognizer_NavigationCanceledEvent; // Save Gesture SaveRecognizer = new UnityEngine.VR.WSA.Input.GestureRecognizer(); SaveRecognizer.SetRecognizableGestures(UnityEngine.VR.WSA.Input.GestureSettings.Tap); SaveRecognizer.TappedEvent += SaveRecognizer_TappedEvent; // Start looking for gestures. IsClicking = true; ActiveRecognizer = ClickRecognizer; ActiveRecognizer.StartCapturingGestures(); }
void OnDestroy() { ActiveRecognizer.TappedEvent -= TappedCallback; ActiveRecognizer.NavigationStartedEvent -= NavigationStartedCallback; ActiveRecognizer.NavigationUpdatedEvent -= NavigationUpdatedCallback; ActiveRecognizer.NavigationCompletedEvent -= NavigationCompletedCallback; ActiveRecognizer.NavigationCanceledEvent -= NavigationCanceledCallback; ActiveRecognizer.HoldStartedEvent -= HoldStartedCallback; ActiveRecognizer.HoldCompletedEvent -= HoldCompletedCallback; ActiveRecognizer.HoldCanceledEvent -= HoldCanceledCallback; ActiveRecognizer.ManipulationStartedEvent -= ManipulationStartedCallback; ActiveRecognizer.ManipulationUpdatedEvent -= ManipulationUpdatedCallback; ActiveRecognizer.ManipulationCompletedEvent -= ManipulationCompletedCallback; ActiveRecognizer.ManipulationCanceledEvent -= ManipulationCanceledCallback; ActiveRecognizer.CancelGestures(); SetupEvents(false); }
/// <summary> /// Transition to a new GestureRecognizer. /// </summary> /// <param name="newRecognizer">The GestureRecognizer to transition to.</param> /// public void FreeRotation(GestureRecognizer newRecognizer) { if (newRecognizer == null) { return; } if (ActiveRecognizer != null) { if (ActiveRecognizer == newRecognizer) { return; } ActiveRecognizer.CancelGestures(); ActiveRecognizer.StopCapturingGestures(); } newRecognizer.StartCapturingGestures(); ActiveRecognizer = newRecognizer; IsRotating = 4; }
public void Transition(GestureRecognizer newRecognizer) { Debug.Log("newrecognizer : " + newRecognizer + "recognizable : " + newRecognizer.GetRecognizableGestures()); if (newRecognizer == null) { return; } if (ActiveRecognizer != null) { if (ActiveRecognizer == newRecognizer) { return; } ActiveRecognizer.CancelGestures(); ActiveRecognizer.StopCapturingGestures(); } newRecognizer.StartCapturingGestures(); ActiveRecognizer = newRecognizer; }
// Transfer from one gesture module to another one. public void Transition(UnityEngine.VR.WSA.Input.GestureRecognizer newRecognizer) { if (newRecognizer == null) { return; } if (ActiveRecognizer != null) { if (ActiveRecognizer == newRecognizer) { return; } ActiveRecognizer.CancelGestures(); ActiveRecognizer.StopCapturingGestures(); } newRecognizer.StartCapturingGestures(); ActiveRecognizer = newRecognizer; if (ActiveRecognizer == ClickRecognizer) { IsClicking = true; } else { IsClicking = false; } if (ActiveRecognizer == SaveRecognizer) { DebugInfoManager.Instance.UpdateSavePointsStatus(true); } else { DebugInfoManager.Instance.UpdateSavePointsStatus(false); } }