UnityEditor.ProjectWindowUtil.GetDragAndDropPaths C# (CSharp) Method

GetDragAndDropPaths() static private method

static private GetDragAndDropPaths ( int draggedInstanceID, List selectedInstanceIDs ) : string[]
draggedInstanceID int
selectedInstanceIDs List
return string[]
        internal static string[] GetDragAndDropPaths(int draggedInstanceID, List<int> selectedInstanceIDs)
        {
            List<string> list = new List<string>();
            foreach (int num in selectedInstanceIDs)
            {
                if (AssetDatabase.IsMainAsset(num))
                {
                    string item = AssetDatabase.GetAssetPath(num);
                    list.Add(item);
                }
            }
            string assetPath = AssetDatabase.GetAssetPath(draggedInstanceID);
            if (!string.IsNullOrEmpty(assetPath))
            {
                if (list.Contains(assetPath))
                {
                    return list.ToArray();
                }
                return new string[] { assetPath };
            }
            return new string[0];
        }

Usage Example

        internal static void StartDrag(int draggedInstanceID, List <int> selectedInstanceIDs)
        {
            DragAndDrop.PrepareStartDrag();
            string title = "";

            if (ProjectWindowUtil.IsFavoritesItem(draggedInstanceID))
            {
                DragAndDrop.SetGenericData(ProjectWindowUtil.k_DraggingFavoriteGenericData, draggedInstanceID);
                DragAndDrop.objectReferences = new UnityEngine.Object[0];
            }
            else
            {
                bool flag = ProjectWindowUtil.IsFolder(draggedInstanceID);
                DragAndDrop.objectReferences = ProjectWindowUtil.GetDragAndDropObjects(draggedInstanceID, selectedInstanceIDs);
                DragAndDrop.SetGenericData(ProjectWindowUtil.k_IsFolderGenericData, (!flag) ? "" : "isFolder");
                string[] dragAndDropPaths = ProjectWindowUtil.GetDragAndDropPaths(draggedInstanceID, selectedInstanceIDs);
                if (dragAndDropPaths.Length > 0)
                {
                    DragAndDrop.paths = dragAndDropPaths;
                }
                if (DragAndDrop.objectReferences.Length > 1)
                {
                    title = "<Multiple>";
                }
                else
                {
                    title = ObjectNames.GetDragAndDropTitle(InternalEditorUtility.GetObjectFromInstanceID(draggedInstanceID));
                }
            }
            DragAndDrop.StartDrag(title);
        }
All Usage Examples Of UnityEditor.ProjectWindowUtil::GetDragAndDropPaths