示例#1
0
        internal static WheelEvent GetPooled(Vector3 delta)
        {
            WheelEvent pooled = EventBase <WheelEvent> .GetPooled();

            pooled.delta = delta;
            return(pooled);
        }
        public static T GetPooled(IMouseEvent triggerEvent)
        {
            T pooled = EventBase <T> .GetPooled(triggerEvent as EventBase);

            bool flag = triggerEvent != null;

            if (flag)
            {
                pooled.modifiers          = triggerEvent.modifiers;
                pooled.mousePosition      = triggerEvent.mousePosition;
                pooled.localMousePosition = triggerEvent.mousePosition;
                pooled.mouseDelta         = triggerEvent.mouseDelta;
                pooled.button             = triggerEvent.button;
                pooled.pressedButtons     = triggerEvent.pressedButtons;
                pooled.clickCount         = triggerEvent.clickCount;
                IMouseEventInternal mouseEventInternal = triggerEvent as IMouseEventInternal;
                bool flag2 = mouseEventInternal != null;
                if (flag2)
                {
                    pooled.triggeredByOS = mouseEventInternal.triggeredByOS;
                    pooled.recomputeTopElementUnderMouse = false;
                }
            }
            return(pooled);
        }
        internal static T GetPooled(IMouseEvent triggerEvent)
        {
            T pooled = EventBase <T> .GetPooled();

            bool flag = triggerEvent != null;

            if (flag)
            {
                pooled.pointerId          = PointerId.mousePointerId;
                pooled.pointerType        = PointerType.mouse;
                pooled.isPrimary          = true;
                pooled.button             = triggerEvent.button;
                pooled.pressedButtons     = triggerEvent.pressedButtons;
                pooled.position           = triggerEvent.mousePosition;
                pooled.localPosition      = triggerEvent.mousePosition;
                pooled.deltaPosition      = triggerEvent.mouseDelta;
                pooled.deltaTime          = 0f;
                pooled.clickCount         = triggerEvent.clickCount;
                pooled.pressure           = ((triggerEvent.pressedButtons == 0) ? 0f : 0.5f);
                pooled.tangentialPressure = 0f;
                pooled.altitudeAngle      = 0f;
                pooled.azimuthAngle       = 0f;
                pooled.twist          = 0f;
                pooled.radius         = default(Vector2);
                pooled.radiusVariance = default(Vector2);
                pooled.modifiers      = triggerEvent.modifiers;
                IMouseEventInternal mouseEventInternal = triggerEvent as IMouseEventInternal;
                bool flag2 = mouseEventInternal != null;
                if (flag2)
                {
                    pooled.triggeredByOS = mouseEventInternal.triggeredByOS;
                }
            }
            return(pooled);
        }
示例#4
0
        public static T GetPooled(string commandName)
        {
            T pooled = EventBase <T> .GetPooled();

            pooled.commandName = commandName;
            return(pooled);
        }
示例#5
0
        public static IMGUIEvent GetPooled(Event systemEvent)
        {
            IMGUIEvent pooled = EventBase <IMGUIEvent> .GetPooled();

            pooled.imguiEvent = systemEvent;
            return(pooled);
        }
        internal new static T GetPooled(EventBase e)
        {
            IPointerEvent pointerEvent = e as IPointerEvent;
            bool          flag         = pointerEvent != null;
            T             pooled;

            if (flag)
            {
                pooled = PointerEventBase <T> .GetPooled(pointerEvent);
            }
            else
            {
                IMouseEvent mouseEvent = e as IMouseEvent;
                bool        flag2      = mouseEvent != null;
                if (flag2)
                {
                    pooled = PointerEventBase <T> .GetPooled(mouseEvent);
                }
                else
                {
                    pooled = EventBase <T> .GetPooled(e);
                }
            }
            return(pooled);
        }
        public static T GetPooled(IPointerEvent triggerEvent)
        {
            T pooled = EventBase <T> .GetPooled();

            bool flag = triggerEvent != null;

            if (flag)
            {
                pooled.pointerId          = triggerEvent.pointerId;
                pooled.pointerType        = triggerEvent.pointerType;
                pooled.isPrimary          = triggerEvent.isPrimary;
                pooled.button             = triggerEvent.button;
                pooled.pressedButtons     = triggerEvent.pressedButtons;
                pooled.position           = triggerEvent.position;
                pooled.localPosition      = triggerEvent.localPosition;
                pooled.deltaPosition      = triggerEvent.deltaPosition;
                pooled.deltaTime          = triggerEvent.deltaTime;
                pooled.clickCount         = triggerEvent.clickCount;
                pooled.pressure           = triggerEvent.pressure;
                pooled.tangentialPressure = triggerEvent.tangentialPressure;
                pooled.altitudeAngle      = triggerEvent.altitudeAngle;
                pooled.azimuthAngle       = triggerEvent.azimuthAngle;
                pooled.twist          = triggerEvent.twist;
                pooled.radius         = triggerEvent.radius;
                pooled.radiusVariance = triggerEvent.radiusVariance;
                pooled.modifiers      = triggerEvent.modifiers;
                IPointerEventInternal pointerEventInternal = triggerEvent as IPointerEventInternal;
                bool flag2 = pointerEventInternal != null;
                if (flag2)
                {
                    pooled.triggeredByOS = pointerEventInternal.triggeredByOS;
                }
            }
            return(pooled);
        }
示例#8
0
        public static T GetPooled(Event systemEvent)
        {
            T pooled = EventBase <T> .GetPooled();

            pooled.imguiEvent = systemEvent;
            return(pooled);
        }
        internal static TooltipEvent GetPooled(string tooltip, Rect rect)
        {
            TooltipEvent pooled = EventBase <TooltipEvent> .GetPooled();

            pooled.tooltip = tooltip;
            pooled.rect    = rect;
            return(pooled);
        }
示例#10
0
        public static InputEvent GetPooled(string previousData, string newData)
        {
            InputEvent pooled = EventBase <InputEvent> .GetPooled();

            pooled.previousData = previousData;
            pooled.newData      = newData;
            return(pooled);
        }
示例#11
0
        public static T GetPooled(IPanel originPanel, IPanel destinationPanel)
        {
            T pooled = EventBase <T> .GetPooled();

            pooled.originPanel      = originPanel;
            pooled.destinationPanel = destinationPanel;
            return(pooled);
        }
        public static GeometryChangedEvent GetPooled(Rect oldRect, Rect newRect)
        {
            GeometryChangedEvent pooled = EventBase <GeometryChangedEvent> .GetPooled();

            pooled.oldRect = oldRect;
            pooled.newRect = newRect;
            return(pooled);
        }
示例#13
0
        public static ChangeEvent <T> GetPooled(T previousValue, T newValue)
        {
            ChangeEvent <T> pooled = EventBase <ChangeEvent <T> > .GetPooled();

            pooled.previousValue = previousValue;
            pooled.newValue      = newValue;
            return(pooled);
        }
示例#14
0
        public static T GetPooled(char c, KeyCode keyCode, EventModifiers modifiers)
        {
            T pooled = EventBase <T> .GetPooled();

            pooled.modifiers = modifiers;
            pooled.character = c;
            pooled.keyCode   = keyCode;
            return(pooled);
        }
示例#15
0
        public static T GetPooled(IEventHandler target, IEventHandler relatedTarget, int pointerId)
        {
            T pooled = EventBase <T> .GetPooled();

            pooled.target        = target;
            pooled.relatedTarget = relatedTarget;
            pooled.pointerId     = pointerId;
            return(pooled);
        }
        public static ContextualMenuPopulateEvent GetPooled(EventBase triggerEvent, DropdownMenu menu, IEventHandler target, ContextualMenuManager menuManager)
        {
            ContextualMenuPopulateEvent pooled = EventBase <ContextualMenuPopulateEvent> .GetPooled(triggerEvent);

            bool flag = triggerEvent != null;

            if (flag)
            {
                triggerEvent.Acquire();
                pooled.triggerEvent = triggerEvent;
                IMouseEvent mouseEvent = triggerEvent as IMouseEvent;
                bool        flag2      = mouseEvent != null;
                if (flag2)
                {
                    pooled.modifiers          = mouseEvent.modifiers;
                    pooled.mousePosition      = mouseEvent.mousePosition;
                    pooled.localMousePosition = mouseEvent.mousePosition;
                    pooled.mouseDelta         = mouseEvent.mouseDelta;
                    pooled.button             = mouseEvent.button;
                    pooled.clickCount         = mouseEvent.clickCount;
                }
                else
                {
                    IPointerEvent pointerEvent = triggerEvent as IPointerEvent;
                    bool          flag3        = pointerEvent != null;
                    if (flag3)
                    {
                        pooled.modifiers          = pointerEvent.modifiers;
                        pooled.mousePosition      = pointerEvent.position;
                        pooled.localMousePosition = pointerEvent.position;
                        pooled.mouseDelta         = pointerEvent.deltaPosition;
                        pooled.button             = pointerEvent.button;
                        pooled.clickCount         = pointerEvent.clickCount;
                    }
                }
                IMouseEventInternal mouseEventInternal = triggerEvent as IMouseEventInternal;
                bool flag4 = mouseEventInternal != null;
                if (flag4)
                {
                    ((IMouseEventInternal)pooled).triggeredByOS = mouseEventInternal.triggeredByOS;
                }
                else
                {
                    IPointerEventInternal pointerEventInternal = triggerEvent as IPointerEventInternal;
                    bool flag5 = pointerEventInternal != null;
                    if (flag5)
                    {
                        ((IMouseEventInternal)pooled).triggeredByOS = pointerEventInternal.triggeredByOS;
                    }
                }
            }
            pooled.target = target;
            pooled.menu   = menu;
            pooled.m_ContextualMenuManager = menuManager;
            return(pooled);
        }
        public static T GetPooled(Touch touch, EventModifiers modifiers = EventModifiers.None)
        {
            T pooled = EventBase <T> .GetPooled();

            pooled.pointerId   = touch.fingerId + PointerId.touchPointerIdBase;
            pooled.pointerType = PointerType.touch;
            bool flag = false;

            for (int i = PointerId.touchPointerIdBase; i < PointerId.touchPointerIdBase + PointerId.touchPointerCount; i++)
            {
                bool flag2 = i != pooled.pointerId && PointerDeviceState.GetPressedButtons(i) != 0;
                if (flag2)
                {
                    flag = true;
                    break;
                }
            }
            pooled.isPrimary = !flag;
            bool flag3 = touch.phase == TouchPhase.Began;

            if (flag3)
            {
                PointerDeviceState.PressButton(pooled.pointerId, 0);
                pooled.button = 0;
            }
            else
            {
                bool flag4 = touch.phase == TouchPhase.Ended || touch.phase == TouchPhase.Canceled;
                if (flag4)
                {
                    PointerDeviceState.ReleaseButton(pooled.pointerId, 0);
                    pooled.button = 0;
                }
                else
                {
                    pooled.button = -1;
                }
            }
            pooled.pressedButtons     = PointerDeviceState.GetPressedButtons(pooled.pointerId);
            pooled.position           = touch.position;
            pooled.localPosition      = touch.position;
            pooled.deltaPosition      = touch.deltaPosition;
            pooled.deltaTime          = touch.deltaTime;
            pooled.clickCount         = touch.tapCount;
            pooled.pressure           = ((Mathf.Abs(touch.maximumPossiblePressure) > Mathf.Epsilon) ? (touch.pressure / touch.maximumPossiblePressure) : 1f);
            pooled.tangentialPressure = 0f;
            pooled.altitudeAngle      = touch.altitudeAngle;
            pooled.azimuthAngle       = touch.azimuthAngle;
            pooled.twist          = 0f;
            pooled.radius         = new Vector2(touch.radius, touch.radius);
            pooled.radiusVariance = new Vector2(touch.radiusVariance, touch.radiusVariance);
            pooled.modifiers      = modifiers;
            pooled.triggeredByOS  = true;
            return(pooled);
        }
示例#18
0
        public static T GetPooled(IEventHandler target, Focusable relatedTarget, FocusChangeDirection direction, FocusController focusController, bool bIsFocusDelegated = false)
        {
            T pooled = EventBase <T> .GetPooled();

            pooled.target           = target;
            pooled.relatedTarget    = relatedTarget;
            pooled.direction        = direction;
            pooled.focusController  = focusController;
            pooled.IsFocusDelegated = bIsFocusDelegated;
            return(pooled);
        }
示例#19
0
 internal new static T GetPooled(EventBase e)
 {
     if (e is IPointerEvent p)
     {
         return(GetPooled(p));
     }
     if (e is IMouseEvent m)
     {
         return(GetPooled(m));
     }
     return(EventBase <T> .GetPooled(e));
 }
        internal static T GetPooled(Vector2 position, int button, int clickCount, Vector2 delta, EventModifiers modifiers, bool fromOS)
        {
            T pooled = EventBase <T> .GetPooled();

            pooled.modifiers                     = modifiers;
            pooled.mousePosition                 = position;
            pooled.localMousePosition            = position;
            pooled.mouseDelta                    = delta;
            pooled.button                        = button;
            pooled.pressedButtons                = PointerDeviceState.GetPressedButtons(PointerId.mousePointerId);
            pooled.clickCount                    = clickCount;
            pooled.triggeredByOS                 = fromOS;
            pooled.recomputeTopElementUnderMouse = true;
            return(pooled);
        }
示例#21
0
        public static T GetPooled(Event systemEvent)
        {
            T pooled = EventBase <T> .GetPooled();

            pooled.imguiEvent = systemEvent;
            bool flag = systemEvent != null;

            if (flag)
            {
                pooled.modifiers = systemEvent.modifiers;
                pooled.character = systemEvent.character;
                pooled.keyCode   = systemEvent.keyCode;
            }
            return(pooled);
        }
        internal static T GetPooled(IMouseEvent triggerEvent, Vector2 mousePosition, bool recomputeTopElementUnderMouse)
        {
            bool flag = triggerEvent != null;
            T    result;

            if (flag)
            {
                result = MouseEventBase <T> .GetPooled(triggerEvent);
            }
            else
            {
                T pooled = EventBase <T> .GetPooled();

                pooled.mousePosition                 = mousePosition;
                pooled.localMousePosition            = mousePosition;
                pooled.recomputeTopElementUnderMouse = recomputeTopElementUnderMouse;
                result = pooled;
            }
            return(result);
        }
        internal static T GetPooled(IPointerEvent triggerEvent, Vector2 position, int pointerId)
        {
            bool flag = triggerEvent != null;
            T    result;

            if (flag)
            {
                result = PointerEventBase <T> .GetPooled(triggerEvent);
            }
            else
            {
                T pooled = EventBase <T> .GetPooled();

                pooled.position      = position;
                pooled.localPosition = position;
                pooled.pointerId     = pointerId;
                pooled.pointerType   = PointerType.GetPointerType(pointerId);
                result = pooled;
            }
            return(result);
        }
        public static T GetPooled(Event systemEvent)
        {
            T pooled = EventBase <T> .GetPooled();

            pooled.imguiEvent = systemEvent;
            bool flag = systemEvent != null;

            if (flag)
            {
                pooled.modifiers                     = systemEvent.modifiers;
                pooled.mousePosition                 = systemEvent.mousePosition;
                pooled.localMousePosition            = systemEvent.mousePosition;
                pooled.mouseDelta                    = systemEvent.delta;
                pooled.button                        = systemEvent.button;
                pooled.pressedButtons                = PointerDeviceState.GetPressedButtons(PointerId.mousePointerId);
                pooled.clickCount                    = systemEvent.clickCount;
                pooled.triggeredByOS                 = true;
                pooled.recomputeTopElementUnderMouse = true;
            }
            return(pooled);
        }
        protected static T GetPooled(IPointerEvent pointerEvent)
        {
            T pooled = EventBase <T> .GetPooled();

            EventBase arg_1F_0 = pooled;
            EventBase expr_13  = pointerEvent as EventBase;

            arg_1F_0.target = ((expr_13 != null) ? expr_13.target : null);
            EventBase arg_3D_0 = pooled;
            EventBase expr_31  = pointerEvent as EventBase;

            arg_3D_0.imguiEvent = ((expr_31 != null) ? expr_31.imguiEvent : null);
            EventBase expr_49 = pointerEvent as EventBase;
            bool      flag    = ((expr_49 != null) ? expr_49.path : null) != null;

            if (flag)
            {
                pooled.path = (pointerEvent as EventBase).path;
            }
            pooled.modifiers          = pointerEvent.modifiers;
            pooled.mousePosition      = pointerEvent.position;
            pooled.localMousePosition = pointerEvent.position;
            pooled.mouseDelta         = pointerEvent.deltaPosition;
            pooled.button             = ((pointerEvent.button == -1) ? 0 : pointerEvent.button);
            pooled.pressedButtons     = pointerEvent.pressedButtons;
            pooled.clickCount         = pointerEvent.clickCount;
            IPointerEventInternal pointerEventInternal = pointerEvent as IPointerEventInternal;
            bool flag2 = pointerEventInternal != null;

            if (flag2)
            {
                pooled.triggeredByOS = pointerEventInternal.triggeredByOS;
                pooled.recomputeTopElementUnderMouse = true;
                pooled.sourcePointerEvent            = pointerEvent;
            }
            return(pooled);
        }
        public static T GetPooled(Event systemEvent)
        {
            T pooled = EventBase <T> .GetPooled();

            bool flag = !PointerEventBase <T> .IsMouse(systemEvent) && systemEvent.rawType != EventType.DragUpdated;

            if (flag)
            {
                Debug.Assert(false, string.Concat(new string[]
                {
                    "Unexpected event type: ",
                    systemEvent.rawType.ToString(),
                    " (",
                    systemEvent.type.ToString(),
                    ")"
                }));
            }
            UnityEngine.PointerType pointerType  = systemEvent.pointerType;
            UnityEngine.PointerType pointerType2 = pointerType;
            if (pointerType2 != UnityEngine.PointerType.Touch)
            {
                if (pointerType2 != UnityEngine.PointerType.Pen)
                {
                    pooled.pointerType = PointerType.mouse;
                    pooled.pointerId   = PointerId.mousePointerId;
                }
                else
                {
                    pooled.pointerType = PointerType.pen;
                    pooled.pointerId   = PointerId.penPointerIdBase;
                }
            }
            else
            {
                pooled.pointerType = PointerType.touch;
                pooled.pointerId   = PointerId.touchPointerIdBase;
            }
            pooled.isPrimary      = true;
            pooled.altitudeAngle  = 0f;
            pooled.azimuthAngle   = 0f;
            pooled.twist          = 0f;
            pooled.radius         = Vector2.zero;
            pooled.radiusVariance = Vector2.zero;
            pooled.imguiEvent     = systemEvent;
            bool flag2 = systemEvent.rawType == EventType.MouseDown;

            if (flag2)
            {
                PointerDeviceState.PressButton(PointerId.mousePointerId, systemEvent.button);
                pooled.button = systemEvent.button;
            }
            else
            {
                bool flag3 = systemEvent.rawType == EventType.MouseUp;
                if (flag3)
                {
                    PointerDeviceState.ReleaseButton(PointerId.mousePointerId, systemEvent.button);
                    pooled.button = systemEvent.button;
                }
                else
                {
                    bool flag4 = systemEvent.rawType == EventType.MouseMove;
                    if (flag4)
                    {
                        pooled.button = -1;
                    }
                }
            }
            pooled.pressedButtons = PointerDeviceState.GetPressedButtons(pooled.pointerId);
            pooled.position       = systemEvent.mousePosition;
            pooled.localPosition  = systemEvent.mousePosition;
            pooled.deltaPosition  = systemEvent.delta;
            pooled.clickCount     = systemEvent.clickCount;
            pooled.modifiers      = systemEvent.modifiers;
            UnityEngine.PointerType pointerType3 = systemEvent.pointerType;
            UnityEngine.PointerType pointerType4 = pointerType3;
            if (pointerType4 - UnityEngine.PointerType.Touch > 1)
            {
                pooled.pressure = ((pooled.pressedButtons == 0) ? 0f : 0.5f);
            }
            else
            {
                pooled.pressure = systemEvent.pressure;
            }
            pooled.tangentialPressure = 0f;
            pooled.triggeredByOS      = true;
            return(pooled);
        }