Exemplo n.º 1
0
        public override void OnBeginDrag(PointerEventData eventData)
        {
            if (base.horizontal == false && Math.Abs(eventData.delta.x) > Math.Abs(eventData.delta.y))
            {
                _eDragDirection = EDrageDirection.Horizontal;
                _fScrollDelta   = 0f;
            }
            else if (base.vertical == false && Math.Abs(eventData.delta.x) < Math.Abs(eventData.delta.y))
            {
                _eDragDirection = EDrageDirection.Vertical;
                _fScrollDelta   = 0f;
            }
            else
            {
                _eDragDirection = EDrageDirection.None;
            }

            if (_eDragDirection != EDrageDirection.None)
            {
                OnDragBegin_OtherSide?.Invoke(new DragEventMsg(eventData, _fScrollDelta, Calculate_NormalizeDelta()));
            }
            else
            {
                base.OnBeginDrag(eventData);
            }
        }
Exemplo n.º 2
0
        public override void OnEndDrag(PointerEventData eventData)
        {
            if (_eDragDirection != EDrageDirection.None)
            {
                OnDragEnd_OtherSide?.Invoke(new DragEventMsg(eventData, _fScrollDelta, Calculate_NormalizeDelta()));
            }
            else
            {
                base.OnEndDrag(eventData);
            }

            _eDragDirection = EDrageDirection.None;
        }