public void OnBeginDrag(PointerEventData eventData)
        {
            if (!manager.CanModifySelectionWith(this))
            {
                eventData.pointerDrag = null;
                return;
            }

            draggingPointer          = eventData.pointerId;
            draggingPointerEventData = eventData;

            if ((directions & Direction.Left) == Direction.Left)
            {
                initialPosition.x = selection.anchoredPosition.x;
            }
            else if ((directions & Direction.Right) == Direction.Right)
            {
                initialPosition.x = selection.anchoredPosition.x + selection.sizeDelta.x;
            }

            if ((directions & Direction.Top) == Direction.Top)
            {
                initialPosition.y = selection.anchoredPosition.y + selection.sizeDelta.y;
            }
            else if ((directions & Direction.Bottom) == Direction.Bottom)
            {
                initialPosition.y = selection.anchoredPosition.y;
            }

            initialTouchPosition = manager.GetTouchPosition(eventData.pressPosition, eventData.pressEventCamera);

            initialSelectionPosition = selection.anchoredPosition;
            initialSelectionSize     = selection.sizeDelta;
        }
        public void OnBeginDrag(PointerEventData eventData)
        {
            if (!manager.CanModifySelectionWith(this))
            {
                eventData.pointerDrag = null;
                return;
            }

            draggingPointer = eventData.pointerId;

            initialPosition      = selection.anchoredPosition;
            initialTouchPosition = manager.GetTouchPosition(eventData.pressPosition, eventData.pressEventCamera);
        }