Пример #1
0
    public void OnDrop(PointerEventData eventData)
    {
#if UI_DEBUG
        Debug.LogErrorFormat("OnDrop:{0} {1}", eventData.pointerDrag.transform.parent, eventData.pointerEnter.transform.parent);
#endif
        onDrop.Invoke(eventData);
    }
Пример #2
0
 public void OnBeginDrag(PointerEventData eventData)
 {
     if (_draggingEnabled)
     {
         onBeginDrag.Invoke(eventData);
     }
 }
Пример #3
0
    public void OnBeginDrag(PointerEventData eventData)
    {
#if UI_DEBUG
        Debug.LogError("OnBeginDrag:" + eventData.pointerDrag.transform.parent);
#endif
        onBeginDrag.Invoke(eventData);
    }
        public virtual void OnDrag(PointerEventData data)
        {
            if (data.button != PointerEventData.InputButton.Left)
            {
                return;
            }

            if (!isDragging)
            {
                return;
            }

            Vector3 worldPoint;

            if (!Camera.main.ScreenPointToWorldPointInRectangle(transform.position, transform.rotation, data.position, out worldPoint))
            {
                return;
            }

            m_OnDrag.Invoke(worldPoint);

            if (NeedsDragOut && !RectTransformUtility.RectangleContainsScreenPoint(effectiveArea, data.position))
            {
                //Debug.Log ( "Handle Drag Out!" );
                if (m_OnDragOut != null)
                {
                    m_OnDragOut.Invoke( );
                }

                isDragging = false;
            }
        }
Пример #5
0
    public void OnEndDrag(PointerEventData eventData)
    {
#if UI_DEBUG
        Debug.LogErrorFormat("OnEndDrag:{0}", eventData.pointerDrag.transform.parent);
#endif
        onEndDrag.Invoke(eventData);
    }
 public void OnDrag(PointerEventData data)
 {
     if (drageEvent != null)
     {
         drageEvent.Invoke(data);
     }
 }
Пример #7
0
        public void OnEndDrag(PointerEventData eventData)
        {
            onEndDrag.Invoke(eventData.position);

            transform.SetParent(parent);
            transform.SetSiblingIndex(childIndex);
            rectTransform.anchoredPosition = restPosition;
        }
Пример #8
0
        public void OnEndDrag(PointerEventData eventData)
        {
            if (_draggingEnabled)
            {
                _draggingEnabled = false;

                onEndDrag.Invoke(eventData);
            }
        }
Пример #9
0
    public void OnBeginDrag(PointerEventData eventData)
    {
        Vector2 ppos = eventData.position;

        _offset.x = ppos.x - transform.position.x;
        _offset.y = ppos.y - transform.position.y;
        onBeginDrag.Invoke(_value);
        SetFromEvent(eventData);
    }
Пример #10
0
    public void OnPointerExit(PointerEventData eventData)
    {
        if (eventData.dragging && mGo != eventData.pointerDrag)
        {
#if UI_DEBUG
            Debug.LogErrorFormat("OnDragOut:{0} {1}", eventData.pointerEnter.transform.parent, mGo.transform.parent);
#endif
            onDragOut.Invoke(eventData);
        }
    }
Пример #11
0
    public void OnPointerClick(PointerEventData eventData)
    {
        if (!eventData.dragging)
        {
#if UI_DEBUG
            Debug.LogErrorFormat("OnClick:{0}", eventData.pointerPress.transform.parent);
#endif
            onClick.Invoke(eventData);
        }
    }
Пример #12
0
    public void DragRight(PointerEventData eventData)
    {
        float amount = eventData.delta.x;

        if (_onDragRight != null)
        {
            _onDragRight.Invoke(amount);
        }
        ResizeClip(DragHandler.Direction.Right, eventData);
    }
Пример #13
0
    public void DragBottom(PointerEventData eventData)
    {
        float amount = eventData.delta.y;

        if (_onDragBottom != null)
        {
            _onDragBottom.Invoke(amount);
        }
        ResizeClip(DragHandler.Direction.Bottom, eventData);
    }
Пример #14
0
    public void DragTop(PointerEventData eventData)
    {
        float amount = eventData.delta.y;

        if (_onDragTop != null)
        {
            _onDragTop.Invoke(amount);
        }
        ResizeClip(DragHandler.Direction.Top, eventData);
    }
Пример #15
0
    public void OnPointerUp(PointerEventData eventData)
    {
        StopAllCoroutines();
        if (!eventData.dragging)
        {
#if UI_DEBUG
            Debug.LogErrorFormat("OnRelease:{0}", eventData.pointerPress.transform.parent);
#endif
            onRelease.Invoke(eventData);
        }
    }
Пример #16
0
    public void OnPointerClick(PointerEventData eventData)
    {
        if (!_ignoreClick)
        {
#if UI_DEBUG
            Debug.LogErrorFormat("OnClick:{0}", eventData.pointerPress.transform.parent);
#endif
            onClick.Invoke(eventData);
        }
        _ignoreClick = false;
    }
Пример #17
0
    public void OnDrag(PointerEventData eventData)
    {
#if UI_DEBUG
        Debug.LogError("OnDrag:" + eventData.pointerDrag.transform.parent);
#endif
        if (dragObj != null)
        {
            dragObj.position = eventData.position;
        }
        onDrag.Invoke(eventData);
    }
Пример #18
0
    public void OnBeginDrag(PointerEventData eventData)
    {
        if (disableDrag)
        {
            return;
        }
        _ignoreClick = true;
#if UI_DEBUG
        Debug.LogError("OnBeginDrag:" + eventData.pointerDrag.transform.parent);
#endif
        onBeginDrag.Invoke(eventData);
    }
Пример #19
0
 public void OnDrag(PointerEventData eventData)
 {
     if (eventData.pointerCurrentRaycast.gameObject != null && eventData.pointerCurrentRaycast.gameObject.transform != target)
     {
         OnEndDrag(eventData);
         return;
     }
     deltaValue += eventData.delta;
     CalculateSwipeDirection(deltaValue.x);
     SetDraggedPosition(eventData);
     onDrag.Invoke(viewPos);
 }
Пример #20
0
    public void OnEndDrag(PointerEventData eventData)
    {
        if (disableDrag)
        {
            return;
        }
#if UI_DEBUG
        Debug.LogErrorFormat("OnEndDrag:{0}", eventData.pointerDrag.transform.parent);
#endif
        onEndDrag.Invoke(eventData);
        StopAllCoroutines();
        _ignoreClick = false;
    }
Пример #21
0
    public void OnInitializePotentialDrag(PointerEventData eventData)
    {
#if UI_DEBUG
        Debug.LogError("OnInitializePotentialDrag:" + eventData.pointerDrag.transform.parent);
#endif
        if (root != null)
        {
            root.SetAsLastSibling();
        }
        if (dragObj != null)
        {
            dragObj.position = eventData.position;
        }
        onWillDrag.Invoke(eventData);
    }
Пример #22
0
 private void Update()
 {
     PointerRegion.AllUpdateState(!IsInputBlocked);
     if (!IsInputBlocked)
     {
         PointerRegion regionBeingPointed = PointerRegion.RegionBeingPointed;
         if (Input.GetMouseButtonDown(0))
         {
             startDragRegion = regionBeingPointed;
         }
         if (Input.GetMouseButtonUp(0))
         {
             startDragRegion = null;
         }
         if (Input.GetMouseButton(0) && startDragRegion != regionBeingPointed && startDragRegion != null && regionBeingPointed != null)
         {
             onDragFromTo.Invoke(startDragRegion, regionBeingPointed);
             startDragRegion = regionBeingPointed;
         }
     }
 }
Пример #23
0
        public void OnDrag(PointerEventData eventData)
        {
            if (_draggingEnabled)
            {
                var relativeMousePosition = CalculateRelativeMousePosition(eventData.position);

                float x = _initialPosition.x + (relativeMousePosition.x - _initialMousePosition.x);
                float y = _initialPosition.y + (relativeMousePosition.y - _initialMousePosition.y);
                if (transform.position.x != x || transform.position.y != y)
                {
                    transform.position = new Vector2(x, y);
                }

                if (bindRectToParent)
                {
                    ClampToParent();
                }

                onDrag.Invoke(eventData);
            }
        }
Пример #24
0
    public void OnDrag(PointerEventData eventData)
    {
        if (disableDrag)
        {
            return;
        }
#if UI_DEBUG
        Debug.LogError("OnDrag:" + eventData.pointerDrag.transform.parent);
#endif
        if (dragObj != null)
        {
            if (uiCamera != null)
            {
                dragObj.position = uiCamera.ScreenToWorldPoint(eventData.position);
            }
            else
            {
                dragObj.position = eventData.position;
            }
        }
        onDrag.Invoke(eventData);
    }
Пример #25
0
    private void DoWillDragTrigger(PointerEventData eventData)
    {
#if UI_DEBUG
        Debug.LogError("OnInitializePotentialDrag:" + eventData.position);
#endif
        if (root != null)
        {
            root.SetAsLastSibling();
        }
        if (dragObj != null)
        {
            if (uiCamera != null)
            {
                dragObj.position = uiCamera.ScreenToWorldPoint(eventData.position);
            }
            else
            {
                dragObj.position = eventData.position;
            }
        }

        onWillDrag.Invoke(eventData);
    }
Пример #26
0
    /// <summary>
    /// 拖动的处理函数
    /// </summary>
    /// <param name="eventData"></param>
    public void OnDrag(PointerEventData eventData)
    {
        Vector3 wordPos;

        //Debug.Log(eventData.position);
        //将UGUI的坐标转为世界坐标
        if (RectTransformUtility.ScreenPointToWorldPointInRectangle(rectTf, eventData.position, eventData.pressEventCamera, out wordPos))
        {
            rectTf.position = wordPos;
        }

        Vector3 newPositon;

        //Debug.Log(rectTf.anchoredPosition);
        if (rectTf.anchoredPosition.x <= 0)
        {
            rectTf.anchoredPosition = new Vector2(0, rectTf.anchoredPosition.y);
        }
        else if (rectTf.anchoredPosition.x >= with)
        {
            rectTf.anchoredPosition = new Vector2(with, rectTf.anchoredPosition.y);
        }
        if (rectTf.anchoredPosition.y >= height)
        {
            rectTf.anchoredPosition = new Vector2(rectTf.anchoredPosition.x, height);
        }
        else if (rectTf.anchoredPosition.y < 0)
        {
            rectTf.anchoredPosition = new Vector2(rectTf.anchoredPosition.x, 0);
        }

        //回调 改变下面的颜色
        if (callBack != null)
        {
            callBack.Invoke(rectTf.anchoredPosition);
        }
    }
Пример #27
0
    public void OnDrag(PointerEventData eventData)
    {
        if (!MayEvent(eventData))
        {
            return;
        }
        _onDragging.Invoke();

        Vector2 localPoint;

        if (RectTransformUtility.ScreenPointToLocalPointInRectangle(_fillImage.rectTransform, eventData.position, eventData.pressEventCamera, out localPoint))
        {
            //根据鼠标在rect的位置=>求出角度(相对于X轴右侧 180°表示)=>相对于起始点的角度(360° 表示)=>_fillImage.fillAmount、_handleRect.localPosition
            var angle = GetAngleFromFillOrigin(localPoint); //相对角度 [0f-360f]
            //超出最大角度时,等于相近的边界值
            if (angle > _maxAngle)
            {
                angle = angle - _maxAngle < 360 - angle ? _maxAngle : 0f;
            }

            NormalizedValue = angle / _maxAngle;
            UpdateVisuals();
        }
    }
 void OnEndDrag(BaseEventData eventData)
 {
     m_OnEndDrag?.Invoke(((PointerEventData)eventData).position);
 }
Пример #29
0
 private void DoDrag(Vector2 pos)
 {
     DragEvent?.Invoke(pos);
 }
Пример #30
0
        public void OnBeginDrag(PointerEventData eventData)
        {
            onBeginDrag.Invoke(rectTransform.anchoredPosition);

            transform.SetParent(DetachedParent);
        }