private void ProcessMouseEvent(PointerInputModule.MouseState mouseData) { bool pressed = mouseData.AnyPressesThisFrame(); bool released = mouseData.AnyReleasesThisFrame(); PointerInputModule.MouseButtonEventData eventData = mouseData.GetButtonState(PointerEventData.InputButton.Left).eventData; if (!OVRInputModule.UseMouse(pressed, released, eventData.buttonData)) { return; } this.ProcessMousePress(eventData); this.ProcessMove(eventData.buttonData); this.ProcessDrag(eventData.buttonData); this.ProcessMousePress(mouseData.GetButtonState(PointerEventData.InputButton.Right).eventData); this.ProcessDrag(mouseData.GetButtonState(PointerEventData.InputButton.Right).eventData.buttonData); this.ProcessMousePress(mouseData.GetButtonState(PointerEventData.InputButton.Middle).eventData); this.ProcessDrag(mouseData.GetButtonState(PointerEventData.InputButton.Middle).eventData.buttonData); if (!Mathf.Approximately(eventData.buttonData.scrollDelta.sqrMagnitude, 0f)) { GameObject eventHandler = ExecuteEvents.GetEventHandler <IScrollHandler>(eventData.buttonData.pointerCurrentRaycast.gameObject); ExecuteEvents.ExecuteHierarchy <IScrollHandler>(eventHandler, eventData.buttonData, ExecuteEvents.scrollHandler); } }