示例#1
0
    public void OnBeginDrag(PointerEventData eventData)
    {
        if (_scrollSlot && !_scrollSlot.ValidForChangeSlotSpell())
        {
            return;
        }

        _onDrag = true;
        transform.SetParent(_startParent.parent.parent.parent);
        transform.SetAsLastSibling();
        Image.raycastTarget = false;
    }
示例#2
0
    public void OnEndDrag(PointerEventData eventData)
    {
        if (!_onDrag)
        {
            return;
        }

        if (_newScrollSlot && _newScrollSlot.ValidForChangeSlotSpell())
        {
            Image.raycastTarget = true;
            if (_newScrollSlot)
            {
                if (_scrollSlot)
                {
                    _scrollSlot.RemoveFromSlot();
                }
                transform.SetParent(_newScrollSlot.transform);
                transform.SetAsFirstSibling();
                _newScrollSlot.AddToSlot(this);
                _scrollSlot    = _newScrollSlot;
                _newScrollSlot = null;
            }
            else
            {
                if (_scrollSlot)
                {
                    _scrollSlot.RemoveFromSlot();
                }
                _scrollSlot = null;
                transform.SetParent(_startParent);
            }
        }
        else
        {
            if (_scrollSlot)
            {
                _scrollSlot.RemoveFromSlot();
            }
            Image.raycastTarget = true;
            _scrollSlot         = null;
            transform.SetParent(_startParent);
        }

        _onDrag = false;
    }