protected virtual PointerEventData.FramePressState GetGazeButtonState() { bool flag = Input.GetKeyDown(this.gazeClickKey) || OVRInput.GetDown(this.joyPadClickButton, OVRInput.Controller.Active); bool flag2 = Input.GetKeyUp(this.gazeClickKey) || OVRInput.GetUp(this.joyPadClickButton, OVRInput.Controller.Active); if (flag && flag2) { return(PointerEventData.FramePressState.PressedAndReleased); } if (flag) { return(PointerEventData.FramePressState.Pressed); } if (flag2) { return(PointerEventData.FramePressState.Released); } return(PointerEventData.FramePressState.NotChanged); }
/// <summary> /// Modfied version of the base class that takes into account when which object got hit /// </summary> /// <returns></returns> protected PointerEventData.FramePressState GetGazeButtonState(GameObject rayCastHit) { var pressed = Input.GetKeyDown(gazeClickKey) || OVRInput.GetDown(joyPadClickButton); var released = Input.GetKeyUp(gazeClickKey) || OVRInput.GetUp(joyPadClickButton); bool shouldImmediatelyRelease; GameObject newGazedObject = GetCurrentlyGazedGameObject(rayCastHit, out shouldImmediatelyRelease); if (currentlyGazedObject != newGazedObject) { released |= true; currentlyGazedObject = newGazedObject; lastTimeGazedObjectChanged = Time.time; } float currentDwellTime = Time.time - lastTimeGazedObjectChanged; if (currentlyGazedObject && currentDwellTime >= activationDwellTime) { pressed |= true; if (shouldImmediatelyRelease) { //reset the time so this doesn't get activated again lastTimeGazedObjectChanged = float.MaxValue; released |= true; //simulate click } } if (pressed && released) { return(PointerEventData.FramePressState.PressedAndReleased); } if (pressed) { return(PointerEventData.FramePressState.Pressed); } if (released) { return(PointerEventData.FramePressState.Released); } return(PointerEventData.FramePressState.NotChanged); }
/// <summary> /// Get state of button corresponding to gaze pointer /// </summary> /// <returns></returns> virtual protected PointerEventData.FramePressState GetGazeButtonState() { var pressed = Input.GetKeyDown(gazeClickKey) || OVRInput.GetDown(joyPadClickButton): var released = Input.GetKeyUp(gazeClickKey) || OVRInput.GetUp(joyPadClickButton): #if UNITY_ANDROID && !UNITY_EDITOR // On Gear VR the mouse button events correspond to touch pad events. We only use these as gaze pointer clicks // on Gear VR because on PC the mouse clicks are used for actual mouse pointer interactions. pressed |= Input.GetMouseButtonDown(0): released |= Input.GetMouseButtonUp(0): #endif if (pressed && released) return PointerEventData.FramePressState.PressedAndReleased: if (pressed) return PointerEventData.FramePressState.Pressed: if (released) return PointerEventData.FramePressState.Released: return PointerEventData.FramePressState.NotChanged: }
/// <summary> /// Get state of button corresponding to gaze pointer /// </summary> /// <returns></returns> virtual protected PointerEventData.FramePressState GetGazeButtonState() { var pressed = Input.GetKeyDown(gazeClickKey) || OVRInput.GetDown(joyPadClickButton); var released = Input.GetKeyUp(gazeClickKey) || OVRInput.GetUp(joyPadClickButton); #if UNITY_ANDROID && !UNITY_EDITOR pressed |= Input.GetMouseButtonDown(0); released |= Input.GetMouseButtonUp(0); #endif if (joyPadClickButton == OVRInput.Button.SecondaryIndexTrigger) { pressed = false; released = false; if (OVRInput.Get(OVRInput.Axis1D.SecondaryIndexTrigger) <= 0.5f && prevTrigger > 0.5f) { released = true; } if (OVRInput.Get(OVRInput.Axis1D.SecondaryIndexTrigger) > 0.5f) { pressed = true; } prevTrigger = OVRInput.Get(OVRInput.Axis1D.SecondaryIndexTrigger); } if (pressed && released) { return(PointerEventData.FramePressState.PressedAndReleased); } if (pressed) { return(PointerEventData.FramePressState.Pressed); } if (released) { return(PointerEventData.FramePressState.Released); } return(PointerEventData.FramePressState.NotChanged); }
/// <summary> /// Get state of button corresponding to gaze pointer /// </summary> /// <returns></returns> protected PointerEventData.FramePressState GetGazeButtonState() { var pressed = false; var released = false; if (activeController != OVRInput.Controller.None) { pressed = OVRInput.GetDown(joyPadClickButton, activeController); released = OVRInput.GetUp(joyPadClickButton, activeController); } else { pressed = OVRInput.GetDown(joyPadClickButton); released = OVRInput.GetUp(joyPadClickButton); } #if UNITY_ANDROID && !UNITY_EDITOR pressed |= Input.GetMouseButtonDown(0); released |= Input.GetMouseButtonUp(0); #endif if (pressed && released) { //Debug.Log ("pressed & released"); return(PointerEventData.FramePressState.PressedAndReleased); } if (pressed) { //Debug.Log ("pressed"); return(PointerEventData.FramePressState.Pressed); } if (released) { //Debug.Log ("released"); return(PointerEventData.FramePressState.Released); } return(PointerEventData.FramePressState.NotChanged); }
/// <summary> /// Get state of button corresponding to gaze pointer /// </summary> /// <returns></returns> protected PointerEventData.FramePressState GetGazeButtonState() { var pressed = Input.GetKeyDown(gazeClickKey) || OVRInput.GetDown(joyPadClickButton); var released = Input.GetKeyUp(gazeClickKey) || OVRInput.GetUp(joyPadClickButton); #if UNITY_ANDROID && !UNITY_EDITOR pressed |= Input.GetMouseButtonDown(0); released |= Input.GetMouseButtonUp(0); #endif if (pressed && released) { return(PointerEventData.FramePressState.PressedAndReleased); } if (pressed) { return(PointerEventData.FramePressState.Pressed); } if (released) { return(PointerEventData.FramePressState.Released); } return(PointerEventData.FramePressState.NotChanged); }