示例#1
0
        protected override void ProcessDrag(PointerEventData pointerEvent)
        {
            Vector2 position = pointerEvent.position;
            bool    flag     = OVRInputModule.IsPointerMoving(pointerEvent);

            if (flag && pointerEvent.pointerDrag != null && !pointerEvent.dragging && this.ShouldStartDrag(pointerEvent))
            {
                if (pointerEvent.IsVRPointer())
                {
                    pointerEvent.position = this.SwipeAdjustedPosition(position, pointerEvent);
                }
                ExecuteEvents.Execute <IBeginDragHandler>(pointerEvent.pointerDrag, pointerEvent, ExecuteEvents.beginDragHandler);
                pointerEvent.dragging = true;
            }
            if (pointerEvent.dragging && flag && pointerEvent.pointerDrag != null)
            {
                if (pointerEvent.IsVRPointer())
                {
                    pointerEvent.position = this.SwipeAdjustedPosition(position, pointerEvent);
                }
                if (pointerEvent.pointerPress != pointerEvent.pointerDrag)
                {
                    ExecuteEvents.Execute <IPointerUpHandler>(pointerEvent.pointerPress, pointerEvent, ExecuteEvents.pointerUpHandler);
                    pointerEvent.eligibleForClick = false;
                    pointerEvent.pointerPress     = null;
                    pointerEvent.rawPointerPress  = null;
                }
                ExecuteEvents.Execute <IDragHandler>(pointerEvent.pointerDrag, pointerEvent, ExecuteEvents.dragHandler);
            }
        }
示例#2
0
 private static bool UseMouse(bool pressed, bool released, PointerEventData pointerData)
 {
     return(pressed || released || OVRInputModule.IsPointerMoving(pointerData) || pointerData.IsScrolling());
 }