protected override bool StartDrag(VisualElement target, Vector2 mousePosition, VisualElement pill)
        {
            m_LibraryItem =
                target.GetProperty(BuilderConstants.LibraryItemLinkedManipulatorVEPropertyName)
                as BuilderLibraryTreeItem;
            if (m_LibraryItem == null)
            {
                return(false);
            }

            var isCurrentDocumentVisualTreeAsset = m_LibraryItem.sourceAsset == paneWindow.document.visualTreeAsset;

            if (isCurrentDocumentVisualTreeAsset)
            {
                return(false);
            }

            m_MadeElement = m_LibraryItem.makeVisualElementCallback?.Invoke();
            if (m_MadeElement == null)
            {
                return(false);
            }

            m_TooltipPreview.Disable();

            return(true);
        }
예제 #2
0
        protected override bool StartDrag(VisualElement target, Vector2 mousePosition, VisualElement pill)
        {
            m_LibraryItem =
                target.GetProperty(BuilderConstants.LibraryItemLinkedManipulatorVEPropertyName)
                as BuilderLibraryTreeItem;
            if (m_LibraryItem == null)
            {
                return(false);
            }

            var isCurrentDocumentVisualTreeAsset = m_LibraryItem.sourceAsset == paneWindow.document.visualTreeAsset;

            if (isCurrentDocumentVisualTreeAsset)
            {
                return(false);
            }

            var madeElement = m_LibraryItem.makeVisualElementCallback?.Invoke();

            if (madeElement == null)
            {
                return(false);
            }

            pill.Clear();

            madeElement.AddToClassList(s_BeingDraggedClassName);
            pill.Add(madeElement);

            if (madeElement.GetType() == typeof(VisualElement))
            {
                madeElement.AddToClassList(s_EmptyVisualElementClassName);
            }

            var overlay = new VisualElement();

            overlay.name = s_OverlayName;
            overlay.AddToClassList(s_OverlayClassName);
            pill.Add(overlay);

            m_TooltipPreview.Disable();

            return(true);
        }