Esempio n. 1
0
        protected PointerEvent CreatePointerEvent(PointerState state, Vector2 position)
        {
            if (state == PointerState.Down)
            {
                lastTouchPosition = position;
            }

            var pointerEvent = new PointerEvent(0, position, position - lastTouchPosition, new TimeSpan(), state, PointerType.Touch, true);

            lastTouchPosition = position;

            return(pointerEvent);
        }
Esempio n. 2
0
        void _routePointer(PointerEvent pEvent)
        {
            if (this.widget.maxSimultaneousDrags != null &&
                this._activeCount >= this.widget.maxSimultaneousDrags)
            {
                return;
            }

            if (pEvent is PointerDownEvent)
            {
                this._recognizer.addPointer((PointerDownEvent)pEvent);
            }
        }
Esempio n. 3
0
        private void OnPointerReleased(PointerEvent ev)
        {
            if (isDragInProgress)
            {
                Cursor.Show();
                Cursor.ClipDisable();
            }

            isButtonHeld     = false;
            isDragInProgress = false;

            guiCurveEditor.OnPointerReleased(ev);
        }
Esempio n. 4
0
 void _handlePointerEvent(PointerEvent pEvent)
 {
     D.assert(this._entry != null);
     if (pEvent is PointerUpEvent || pEvent is PointerCancelEvent)
     {
         this._timer = this._timer ?? Window.instance.run(TooltipUtils._kShowDuration,
                                                          () => this._controller.reverse());
     }
     else if (pEvent is PointerDownEvent)
     {
         this._controller.reverse();
     }
 }
Esempio n. 5
0
        /// <summary>
        /// Handles input. Should be called by the owning window whenever a pointer is released.
        /// </summary>
        /// <param name="ev">Object containing pointer release event information.</param>
        internal void OnPointerReleased(PointerEvent ev)
        {
            if (isModifiedDuringDrag)
            {
                OnCurveModified?.Invoke();
            }

            isPointerHeld             = false;
            isDragInProgress          = false;
            isMousePressedOverKey     = false;
            isMousePressedOverTangent = false;
            isModifiedDuringDrag      = false;
        }
Esempio n. 6
0
    void OnSelectionChanged(PointerEvent.OnSelectionChanged eventData)
    {
        // find selected color
        if (eventData.isSelected) {
            if (targetType == -1) {
                targetType = eventData.targetObject.GetComponent<Selectable> ().type;
            }
        } else {
            targetType = -1;
        }

        // check if tile has valid selection (wasn't already selected, is not being animated, has the same type as the others selected before, and is adjacent to the last selected)
        if (eventData.targetObject) {
            Selectable selectable = eventData.targetObject.GetComponent<Selectable> ();
            if (eventData.isSelected) {
                if (IsSelectionValid (eventData.targetObject)) {
                    selectable.isSelected = eventData.isSelected;
                    GameObject highlight = eventData.targetObject.transform.FindChild ("Selection").gameObject;
                    highlight.SetActive (selectable.isSelected);

                    selectedObjects.AddLast (eventData.targetObject);

                    lineRenderer.SetVertexCount(selectedObjects.Count);
                    lineRenderer.SetPosition (selectedObjects.Count - 1, selectedObjects.Last.Value.GetComponent<RectTransform> ().localPosition - new Vector3 (0, canvasSize.sizeDelta.y / 2, 0));
                }
            }
        } else {
            // deselect all tiles and check which need to be destroyed
            foreach (GameObject selectedObject in selectedObjects) {
                Selectable selectable = selectedObject.GetComponent<Selectable> ();
                if (selectable.isSelected) {
                    selectable.isSelected = eventData.isSelected;
                    GameObject highlight = selectedObject.transform.FindChild ("Selection").gameObject;
                    highlight.SetActive (selectable.isSelected);

                    if (CanDestroy ()) {
                        selectable.MarkTileToDestroy ();
                    }
                }
            }

            if (CanDestroy ()) {
                eventBus.Publish(new PointerEvent.OnPointerFinished());
                eventBus.Publish(new ScoreEvent.OnScoring(selectedObjects.Count));
            }

            selectedObjects.Clear ();

            lineRenderer.SetVertexCount (0);
        }
    }
Esempio n. 7
0
 public void Init(JoyLandlordsCard joyLandlordsCard)
 {
     mJoyLandlordsCard = joyLandlordsCard;
     mPointerEvent     = mJoyLandlordsCard.gameObject.AddComponent <PointerEvent>();
     //注册事件委托
     mPointerEvent.OnPointerDownAction  -= OnPointerDown;
     mPointerEvent.OnPointerUpAction    -= OnPointerUp;
     mPointerEvent.OnPointerEnterAction -= OnPointerEnter;
     mPointerEvent.OnPointerDownAction  += OnPointerDown;
     mPointerEvent.OnPointerUpAction    += OnPointerUp;
     mPointerEvent.OnPointerEnterAction += OnPointerEnter;
     mPointerEvent.OnPointerExitAction  -= OnPointerExit;
     mPointerEvent.OnPointerExitAction  += OnPointerExit;
 }
Esempio n. 8
0
        void _onPointerHover(PointerEvent evt)
        {
            this._layoutTextWithConstraints(this.constraints);
            Offset       offset   = this.globalToLocal(evt.position);
            TextPosition position = this._textPainter.getPositionForOffset(offset);
            TextSpan     span     = this._textPainter.text.getSpanForPosition(position);

            if (this._previousHoverSpan != span)
            {
                this._previousHoverSpan?.hoverRecognizer?.OnPointerLeave?.Invoke();
                span?.hoverRecognizer?.OnPointerEnter?.Invoke((PointerHoverEvent)evt);
                this._previousHoverSpan = span;
            }
        }
Esempio n. 9
0
        public override void handleEvent(PointerEvent evt, HitTestEntry entry)
        {
            D.assert(this.debugHandleEvent(evt, entry));
            if (!(evt is PointerDownEvent))
            {
                return;
            }
            this._layoutTextWithConstraints(this.constraints);
            Offset       offset   = ((BoxHitTestEntry)entry).localPosition;
            TextPosition position = this._textPainter.getPositionForOffset(offset);
            TextSpan     span     = this._textPainter.text.getSpanForPosition(position);

            span?.recognizer?.addPointer((PointerDownEvent)evt);
        }
Esempio n. 10
0
 public UIEvents()
 {
     PointerEntered = new PointerEvent();
     PointerExited  = new PointerEvent();
     PointerClicked = new PointerEvent();
     PointerDown    = new PointerEvent();
     PointerOver    = new PointerEvent();
     PointerUp      = new PointerEvent();
     PointerDragged = new PointerEvent();
     BeginDrag      = new PointerEvent();
     Drag           = new PointerEvent();
     EndDrag        = new PointerEvent();
     Drop           = new PointerEvent();
 }
 public async ValueTask<PointerEvent> get_event()
 {
     if(__event == null)
     {
         __event = await EventHorizonBlazorInterop.GetClass<PointerEvent>(
             this.___guid,
             "event",
             (entity) =>
             {
                 return new PointerEvent() { ___guid = entity.___guid };
             }
         );
     }
     return __event;
 }
Esempio n. 12
0
 void _handlePointerEvent(PointerEvent pEvent)
 {
     if (_entry == null)
     {
         return;
     }
     if (pEvent is PointerUpEvent || pEvent is PointerCancelEvent)
     {
         _hideTooltip();
     }
     else if (pEvent is PointerDownEvent)
     {
         _hideTooltip(immediately: true);
     }
 }
Esempio n. 13
0
        public override void handleEvent(PointerEvent evt, HitTestEntry entry)
        {
            if (this.ignorePointer)
            {
                return;
            }

            D.assert(this.debugHandleEvent(evt, entry));
            if (evt is PointerDownEvent && this.onSelectionChanged != null)
            {
                this._tap.addPointer((PointerDownEvent)evt);
                this._doubleTap.addPointer((PointerDownEvent)evt);
                this._longPress.addPointer((PointerDownEvent)evt);
            }
        }
Esempio n. 14
0
        private void OnPointerPressed(PointerEvent ev)
        {
            guiCurveEditor.OnPointerPressed(ev);

            if (ev.button == PointerButton.Middle)
            {
                Vector2I windowPos = ScreenToWindowPos(ev.ScreenPos);
                Vector2  curvePos;
                if (guiCurveEditor.WindowToCurveSpace(windowPos, out curvePos))
                {
                    dragStartPos = windowPos;
                    isButtonHeld = true;
                }
            }
        }
Esempio n. 15
0
        void _handlePointerScroll(PointerEvent e)
        {
            D.assert(e is PointerScrollEvent);

            if (_physics != null && !_physics.shouldAcceptUserOffset(position))
            {
                return;
            }

            float targetScrollOffset = _targetScrollOffsetForPointerScroll(e as PointerScrollEvent);

            if (targetScrollOffset != position.pixels)
            {
                position.jumpTo(targetScrollOffset);
            }
        }
Esempio n. 16
0
        //----------------------------------------------------------
        #region プライベート関数
        //----------------------------------------------------------

        private static void createMouseEvent(out PointerEvent e, int button, int id, ref Vector2 mousePos, ref PointerEvent?prev)
        {
            var phase = PointerEvent.EPhase.Began;

            if (prev.HasValue)
            {
                phase = (prev.Value.ScreenX == mousePos.x && prev.Value.ScreenY == mousePos.y)
                    ? PointerEvent.EPhase.Stationary
                    : PointerEvent.EPhase.Moved;
            }
            if (Input.GetMouseButtonUp(button))
            {
                phase = PointerEvent.EPhase.Ended;
            }
            e = new PointerEvent(id, (int)mousePos.x, (int)mousePos.y, phase, PointerEvent.EType.Others);
        }
Esempio n. 17
0
    private void Update()
    {
        if (pointer.highlightedObject != null && pointer.highlightedObject.GetComponent <PointerEvent>() != null)
        {
            pointerEvent = pointer.highlightedObject.GetComponent <PointerEvent>();


            // Invoke alls the event function here
            // Heck PointerEventSystem and PointerEvent for more information
            pointerEvent.onHoverEvent.Invoke(pointer);

            Animator anim = pointer.highlightedObject.GetComponent <Animator>();
            if (_highlightedObject == null && anim.GetCurrentAnimatorStateInfo(0).normalizedTime > 1 && !anim.IsInTransition(0))
            {
                Transform highlightedTransform = pointer.highlightedObject.transform;

                //setting up highlight object
                _highlightedObject = Instantiate(pointer.highlightedObject, highlightedTransform.position, highlightedTransform.rotation);
                Destroy(_highlightedObject.GetComponent <Animator>());
                _highlightedObject.transform.parent = highlightedTransform;
                _highlightedObject.layer            = 2; //make it ignore uiipointer
                _highlightedObject.GetComponent <MeshRenderer>().material = HoverMat;
            }

            if (activateAnimationButton.GetStateDown(hand))
            {
                pointerEvent.OnClickEvent.Invoke(pointer);
                Destroy(_highlightedObject);
            }
        }
        else
        {
            // resetting values
            if (pointerEvent != null)
            {
                pointerEvent.OnExitEvent.Invoke(pointer);
                pointerEvent = null;
            }

            if (_highlightedObject != null)
            {
                Destroy(_highlightedObject);
            }
        }
    }
Esempio n. 18
0
        //----------------------------------------------------------
        #region プライベート関数
        //----------------------------------------------------------

        private static void createMouseEvent(out PointerEvent e, int button, int id, ref Vector2 mousePos, ref PointerEvent?prev)
        {
            var phase = PointerEvent.EPhase.Began;

            if (prev.HasValue)
            {
                var v = prev.Value;
                phase = (v.Phase == PointerEvent.EPhase.Ended)
                    ? PointerEvent.EPhase.Began : (Mathf.Approximately(v.ScreenX, mousePos.x) && Mathf.Approximately(v.ScreenY, mousePos.y))
                    ? PointerEvent.EPhase.Stationary
                    : PointerEvent.EPhase.Moved;
            }
            if (Input.GetMouseButtonUp(button))
            {
                phase = PointerEvent.EPhase.Ended;
            }
            e = new PointerEvent(id, (int)mousePos.x, (int)mousePos.y, phase, PointerEvent.EType.Others);
        }
Esempio n. 19
0
        internal override S find <S>(Offset regionOffset)
        {
            if (this._inverseDirty)
            {
                this._invertedTransform = Matrix4.tryInvert(
                    PointerEvent.removePerspectiveTransform(this.transform)
                    );
                this._inverseDirty = false;
            }

            if (this._invertedTransform == null)
            {
                return(null);
            }
            Vector4 vector = new Vector4(regionOffset.dx, regionOffset.dy, 0, 1);
            Vector4 result = this._invertedTransform.transform(vector);

            return(base.find <S>(new Offset(result[0], result[1])));
        }
Esempio n. 20
0
 // Clean up this event listener and detach events.
 public void Dispose()
 {
     if (PointerDown != null)
     {
         PointerDown.RemoveAllListeners();
         PointerDown = null;
     }
     if (PointerUp != null)
     {
         PointerUp.RemoveAllListeners();
         PointerUp = null;
     }
     if (PointerClick != null)
     {
         PointerClick.RemoveAllListeners();
         PointerClick = null;
     }
     if (Drag != null)
     {
         Drag.RemoveAllListeners();
         Drag = null;
     }
     if (BeginDrag != null)
     {
         BeginDrag.RemoveAllListeners();
         BeginDrag = null;
     }
     if (EndDrag != null)
     {
         EndDrag.RemoveAllListeners();
         EndDrag = null;
     }
     if (Scroll != null)
     {
         Scroll.RemoveAllListeners();
         Scroll = null;
     }
     if (Pinch != null)
     {
         Pinch.RemoveAllListeners();
         Pinch = null;
     }
 }
        /// <summary>
        /// Triggered when the pointer moved.
        /// </summary>
        /// <param name="ev">Data about the pointer move event.</param>
        void Input_OnPointerMoved(PointerEvent ev)
        {
            Vector2I currentWindowPos = parentWindow.ScreenToWindowPos(ev.ScreenPos);

            if (isMouseDown && !isLocalDragInProgress)
            {
                Vector2I startWindowPos = parentWindow.ScreenToWindowPos(mouseDownScreenPos);
                if (!Bounds.Contains(startWindowPos))
                {
                    return;
                }

                int distance = Vector2I.Distance(startWindowPos, currentWindowPos);
                if (distance >= DragStartDistancePx)
                {
                    triggerStartLocalDrag = true;
                }
            }
        }
Esempio n. 22
0
        /// <inheritdoc />
        public void Log(Pointer pointer, PointerEvent evt)
        {
            var path = TransformUtils.GetHeirarchyPath(pointer.GetPressData().Target);

            writer.Write((uint)pointer.Type);
            writer.Write(eventCount);
            writer.Write(DateTime.Now.Ticks);
            writer.Write(pointer.Id);
            writer.Write((uint)evt);
            writer.Write((uint)pointer.Buttons);
            writer.Write(pointer.Position.x);
            writer.Write(pointer.Position.y);
            writer.Write(pointer.PreviousPosition.x);
            writer.Write(pointer.PreviousPosition.y);
            writer.Write(pointer.Flags);
            writer.Write(path ?? "");

            eventCount++;
        }
Esempio n. 23
0
 public void Update()
 {
     if (this.m_eventIndex < this.m_events.Count)
     {
         PointerEvent pointerEvent = this.m_events[this.m_eventIndex];
         pointerEvent.Update();
         if (pointerEvent.Finished())
         {
             this.m_eventIndex++;
             if (this.m_eventIndex < this.m_events.Count)
             {
                 this.m_events[this.m_eventIndex].Start();
             }
             else
             {
                 this.m_finished = true;
             }
         }
     }
     this.m_pointer.Update();
 }
Esempio n. 24
0
        /// <summary>
        /// Determine input from a user from Pointer (Touch/Mouse).
        /// It analyses the input from a user, and transform it to InputState using in the game, which is then returned.
        /// </summary>
        /// <returns></returns>
        private InputState GetPointerInputState()
        {
            // Get new state of Pointer (Touch input)
            if (Input.PointerEvents.Any())
            {
                var lastPointer = Input.PointerEvents.Last();
                if (lastPointer.EventType == PointerEventType.Pressed)
                {
                    isPointerDown = true;
                }
                else if (lastPointer.EventType == PointerEventType.Released)
                {
                    isPointerDown = false;
                }
                pointerState = lastPointer;
            }

            // If a user does not touch the screen, there is not input
            if (!isPointerDown)
            {
                return(InputState.None);
            }

            // Transform pointer's position from normorlize coordinate to virtual resolution coordinate
            var resolution = new Vector2(GraphicsDevice.Presenter.BackBuffer.Width, GraphicsDevice.Presenter.BackBuffer.Height);
            var virtualCoordinatePointerPositionA = resolution.X * (pointerState.Position.X + 0.05f);
            var virtualCoordinatePointerPositionB = resolution.X * (pointerState.Position.X - 0.05f);

            var virtualX = VirtualCoordToPixel(Entity.Transform.Position.X);

            // Check if the touch position is in the x-axis region of the agent's sprite; if so, input is shoot
            if (virtualX <= virtualCoordinatePointerPositionA && virtualCoordinatePointerPositionB <= virtualX)
            {
                return(InputState.Shoot);
            }

            // Check if a pointer falls left or right of the screen, which would correspond to Run to the left or right respectively
            return(((pointerState.Position.X) <= virtualX / resolution.X) ? InputState.RunLeft : InputState.RunRight);
        }
Esempio n. 25
0
        public void InitPanel(int clientSeat)
        {
            if (_HintPanel != null)
            {
                _HuCardHintPanel = _HintPanel.gameObject.AddItem <DownHuCardHintPanel>();
            }
            else if (_HintPanelPointGo != null)
            {
                GameObject hintPanelPrefab = ResourcesComponent.Ins.GetResoure(UIType.FiveStarMingPaiHintPanel, "OtherHintPanel") as GameObject;
                GameObject hintPanel       = GameObject.Instantiate(hintPanelPrefab, _HintPanelPointGo);
                if (clientSeat == 1)
                {
                    hintPanel.GetComponent <RectTransform>().pivot = Vector2.one;
                }
                _HuCardHintPanel = hintPanel.AddItem <HuCardHintPanel>();
            }
            PointerEvent _HintBtnPointerEvent = _HintBtn.gameObject.AddComponent <PointerEvent>();

            _HintBtnPointerEvent.OnPointerDownAction -= _HuCardHintPanel.Show;
            _HintBtnPointerEvent.OnPointerDownAction += _HuCardHintPanel.Show;
            _HintBtnPointerEvent.OnPointerUpAction   -= _HuCardHintPanel.Hide;
            _HintBtnPointerEvent.OnPointerUpAction   += _HuCardHintPanel.Hide;
        }
    void _handlePointerEvent(PointerEvent Event)
    {
        bool currentInteractionIsTouch = false;

        switch (Event.kind)
        {
        case PointerDeviceKind.touch:
        case PointerDeviceKind.stylus:
        case PointerDeviceKind.invertedStylus:
            currentInteractionIsTouch = true;
            break;

        case PointerDeviceKind.mouse:
        case PointerDeviceKind.unknown:
            currentInteractionIsTouch = false;
            break;
        }
        if (_lastInteractionWasTouch != currentInteractionIsTouch)
        {
            _lastInteractionWasTouch = currentInteractionIsTouch;
            _updateHighlightMode();
        }
    }
Esempio n. 27
0
        public override void handleEvent(PointerEvent evt, HitTestEntry entry)
        {
            D.assert(debugHandleEvent(evt, entry));
            if (!(evt is PointerDownEvent))
            {
                return;
            }

            _layoutTextWithConstraints(constraints);
            Offset       offset   = ((BoxHitTestEntry)entry).localPosition;
            TextPosition position = _textPainter.getPositionForOffset(offset);
            InlineSpan   span     = _textPainter.text.getSpanForPosition(position);

            if (span == null)
            {
                return;
            }
            if (span is TextSpan)
            {
                TextSpan textSpan = (TextSpan)span;
                textSpan.recognizer?.addPointer(evt as PointerDownEvent);
            }
        }
Esempio n. 28
0
        /// <summary>
        /// Determine input from a user from Pointer (Touch/Mouse).
        /// It analyses the input from a user, and transform it to InputState using in the game, which is then returned.
        /// </summary>
        /// <returns></returns>
        private InputState GetPointerInputState()
        {
            // Get new state of Pointer (Touch input)
            if (Input.PointerEvents.Any())
            {
                var lastPointer = Input.PointerEvents.Last();
                isPointerDown = lastPointer.State != PointerState.Up;
                pointerState  = lastPointer;
            }

            // If a user does not touch the screen, there is not input
            if (!isPointerDown)
            {
                return(InputState.None);
            }

            // Transform pointer's position from normorlize coordinate to virtual resolution coordinate
            var resolution = new Vector2(GraphicsDevice.Presenter.BackBuffer.Width, GraphicsDevice.Presenter.BackBuffer.Height);
            var virtualCoordinatePointerPosition = resolution * pointerState.Position;

            // Get current position of the agent, since the origin of the sprite is at the center, region needs to be shifted to top-left
            var agentSize         = spriteSheet["idle0"].SizeInPixels;
            var agentSpriteRegion = new RectangleF
            {
                X = (int)VirtualCoordToPixel(Entity.Transform.Position.X) - agentSize.X / 2, Y = (int)VirtualCoordToPixel(Entity.Transform.Position.Y) - agentSize.Y / 2, Width = agentSize.X, Height = agentSize.Y
            };

            // Check if the touch position is in the x-axis region of the agent's sprite; if so, input is shoot
            if (agentSpriteRegion.Left <= virtualCoordinatePointerPosition.X && virtualCoordinatePointerPosition.X <= agentSpriteRegion.Right)
            {
                return(InputState.Shoot);
            }

            // Check if a pointer falls left or right of the screen, which would correspond to Run to the left or right respectively
            return(((pointerState.Position.X) <= agentSpriteRegion.Center.X / resolution.X) ? InputState.RunLeft : InputState.RunRight);
        }
Esempio n. 29
0
 public void SetEvent(PointerEvent ev)
 {
     this.Event = ev;
 }
Esempio n. 30
0
        public void OnBeforeUpdate()
        {
            if (cIsTouchSupported)
            {
                mEventNum = Mathf.Min(Input.touchCount, cEventNumMax);
                for (var i = 0; i < mEventNum; ++i)
                {
                    var touch = Input.GetTouch(i);
                    cEvents[i] = new PointerEvent(ref touch);
                    if (cIsTouchPressureSupported)
                    {
                        mPressureMax = Mathf.Max(mPressureMax, touch.maximumPossiblePressure);
                    }
                }
            }
            else
            {
                mEventNum = 0;
                Vector2 mousePos = Input.mousePosition;

                if (Input.GetMouseButton(0) || Input.GetMouseButtonUp(0))
                {
                    var prevEvent = (cPrevEvents[0].Id == cIdMouseButton0)
                        ? (PointerEvent?)cPrevEvents[0]
                        : null;
                    createMouseEvent(out cEvents[mEventNum++], 0, cIdMouseButton0, ref mousePos, ref prevEvent);
                }
                if (Input.GetMouseButton(1) || Input.GetMouseButtonUp(1))
                {
                    var prevEvent = (cPrevEvents[0].Id == cIdMouseButton1)
                        ? (PointerEvent?)cPrevEvents[0] : (cPrevEvents[1].Id == cIdMouseButton1)
                        ? (PointerEvent?)cPrevEvents[1]
                        : null;
                    createMouseEvent(out cEvents[mEventNum++], 1, cIdMouseButton1, ref mousePos, ref prevEvent);
                }
                if (Input.GetMouseButton(2) || Input.GetMouseButtonUp(2))
                {
                    var prevEvent = (cPrevEvents[0].Id == cIdMouseButton2)
                        ? (PointerEvent?)cPrevEvents[0] : (cPrevEvents[1].Id == cIdMouseButton2)
                        ? (PointerEvent?)cPrevEvents[1] : (cPrevEvents[2].Id == cIdMouseButton2)
                        ? (PointerEvent?)cPrevEvents[2]
                        : null;
                    createMouseEvent(out cEvents[mEventNum++], 2, cIdMouseButton2, ref mousePos, ref prevEvent);
                }
            }

            if (mEventNum > 0)
            {
                mLastX = cGraphic.ScreenToCanvasX(cEvents[0].ScreenX);
                mLastY = cGraphic.ScreenToCanvasY(cEvents[0].ScreenY);

                var currentFrame = UnityEngine.Time.frameCount;
                var currentTime  = UnityEngine.Time.unscaledTime;
                for (var i = 0; i < mEventNum; ++i)
                {
                    var id = cEvents[i].Id;

                    if (cEvents[i].Phase == PointerEvent.EPhase.Began)
                    {
                        cEventFrameCounts[i] = 1;
                        cEventDulations[i]   = 0;
                        cBeganEventDict.Add(id, cEvents[i]);
                        continue;
                    }

                    if (!cBeganEventDict.ContainsKey(id))
                    {
                        Debug.LogWarningFormat("[Pointer] {0} is unknown pointer. phase: {1}", id, cEvents[i].Phase);
                        continue;
                    }

                    cEventFrameCounts[i] = currentFrame - cBeganEventDict[id].Frame + 1;
                    cEventDulations[i]   = currentTime - cBeganEventDict[id].Time;

                    if (cEvents[i].Phase == PointerEvent.EPhase.Ended)
                    {
                        cBeganEventDict.Remove(id);
                    }
                }
            }

            for (var i = mEventNum; i < cEventNumMax; ++i)
            {
                cEvents[i] = default(PointerEvent);
            }
            for (var i = 0; i < cEvents.Length; ++i)
            {
                cPrevEvents[i] = cEvents[i];
            }
        }
Esempio n. 31
0
 public void SetEventValue(PointerEvent evt, bool value)
 {
     pointerEvents[(int)evt] = value;
 }
Esempio n. 32
0
 public PointerMessage(int x, int y, PointerEvent msg)
 {
     X = x;
     Y = y;
     Message = msg;
 }