public void OnBeginDrag(PointerEventData eventData)
        {
            if (waitingForDragDropStart)
            {
                if (scrollRect)
                {
                    DragDropHelper.TransferEventToScrollRect(eventData, scrollRect);
                }
            }
            else
            {
                if (!delayDetach && scrollRect)
                {
                    bool horizontalDrag = Mathf.Abs(eventData.delta.x) > Mathf.Abs(eventData.delta.y);
                    if (horizontalDrag && !scrollRect.horizontal)
                    {
                        HandleDragDropEvent();
                    }
                    else if (!horizontalDrag && !scrollRect.vertical)
                    {
                        HandleDragDropEvent();
                    }
                    else
                    {
                        DragDropHelper.TransferEventToScrollRect(eventData, scrollRect);
                        return;
                    }
                }

                if (!HandlingDragDropEvent())
                {
                    HandleDragDropEvent();
                }
            }
        }
示例#2
0
        public void OnBeginDrag(PointerEventData eventData)
        {
            if (waitingForDragDropStart)
            {
                if (scrollRect)
                {
                    DragDropHelper.TransferEventToScrollRect(eventData, scrollRect);
                }
            }
            else
            {
                DragDropEventData.current.eligibleForClick = false;
                HandleDragDropEvent();
            }

            if (!HandlingDragDropEvent())
            {
                return;
            }
        }