Example #1
0
        // Token: 0x06000232 RID: 562 RVA: 0x0001E1C0 File Offset: 0x0001C3C0
        protected virtual CusPointerInputModule.MouseState GetMousePointerEventData()
        {
            PointerEventData pointerEventData;
            bool             pointerData = this.GetPointerData(-1, out pointerEventData, true);

            pointerEventData.Reset();
            if (pointerData)
            {
                pointerEventData.position = Input.mousePosition;
            }
            Vector2 vector = Input.mousePosition;

            pointerEventData.delta       = vector - pointerEventData.position;
            pointerEventData.position    = vector;
            pointerEventData.scrollDelta = Input.mouseScrollDelta;
            pointerEventData.button      = PointerEventData.InputButton.Left;
            base.eventSystem.RaycastAll(pointerEventData, this.m_RaycastResultCache);
            RaycastResult pointerCurrentRaycast = this.FindFirstRaycast(this.m_RaycastResultCache, 0);

            pointerEventData.pointerCurrentRaycast = pointerCurrentRaycast;
            this.m_RaycastResultCache.Clear();
            PointerEventData pointerEventData2;

            this.GetPointerData(-2, out pointerEventData2, true);
            this.CopyFromTo(pointerEventData, pointerEventData2);
            pointerEventData2.button = PointerEventData.InputButton.Right;
            PointerEventData pointerEventData3;

            this.GetPointerData(-3, out pointerEventData3, true);
            this.CopyFromTo(pointerEventData, pointerEventData3);
            pointerEventData3.button = PointerEventData.InputButton.Middle;
            this.m_MouseState.SetButtonState(PointerEventData.InputButton.Left, CusPointerInputModule.StateForMouseButton(0), pointerEventData);
            this.m_MouseState.SetButtonState(PointerEventData.InputButton.Right, CusPointerInputModule.StateForMouseButton(1), pointerEventData2);
            this.m_MouseState.SetButtonState(PointerEventData.InputButton.Middle, CusPointerInputModule.StateForMouseButton(2), pointerEventData3);
            RaycastResult?maskRay = this.MaskRay;

            if (maskRay != null)
            {
                pointerData = this.GetPointerData(999, out pointerEventData, true);
                if (pointerData)
                {
                    pointerEventData.pointerCurrentRaycast = this.MaskRay.Value;
                }
                this.GetPointerData(-2, out pointerEventData2, true);
                this.CopyFromTo(pointerEventData, pointerEventData2);
                pointerEventData2.button = PointerEventData.InputButton.Right;
                this.GetPointerData(-3, out pointerEventData3, true);
                this.CopyFromTo(pointerEventData, pointerEventData3);
                pointerEventData3.button = PointerEventData.InputButton.Middle;
                this.m_MaskMouseState.SetButtonState(PointerEventData.InputButton.Left, CusPointerInputModule.StateForMouseButton(0), pointerEventData);
                this.m_MaskMouseState.SetButtonState(PointerEventData.InputButton.Right, CusPointerInputModule.StateForMouseButton(1), pointerEventData2);
                this.m_MaskMouseState.SetButtonState(PointerEventData.InputButton.Middle, CusPointerInputModule.StateForMouseButton(2), pointerEventData3);
            }
            return(this.m_MouseState);
        }
Example #2
0
        // Token: 0x06000237 RID: 567 RVA: 0x0001E49C File Offset: 0x0001C69C
        protected virtual void ProcessDrag(PointerEventData pointerEvent)
        {
            bool flag = pointerEvent.IsPointerMoving();

            if (flag && pointerEvent.pointerDrag != null && !pointerEvent.dragging && CusPointerInputModule.ShouldStartDrag(pointerEvent.pressPosition, pointerEvent.position, (float)base.eventSystem.pixelDragThreshold, pointerEvent.useDragThreshold))
            {
                ExecuteEvents.Execute <IBeginDragHandler>(pointerEvent.pointerDrag, pointerEvent, ExecuteEvents.beginDragHandler);
                pointerEvent.dragging = true;
            }
            if (pointerEvent.dragging && flag && pointerEvent.pointerDrag != null)
            {
                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);
            }
        }