private void SceneFileDragReceiver_OnDragComplete(object sender, System.EventArgs e)
        {
            bool wasSceneAdded = false;

            foreach (string path in DragAndDrop.paths)
            {
                if (!ScenePathProcessor.IsValidSceneItem(path))
                {
                    continue;
                }

                if (sceneManager.GetSceneByPath(path) != null)
                {
                    continue;
                }

                AddNewScene(path, serializedSceneManager.SceneNodes, NodeEditor.GetNewNodePosition());

                wasSceneAdded = true;
            }

            if (wasSceneAdded)
            {
                RefreshStatuses();
                serializedSceneManager.SerializedManager.Update();
                serializedSceneManager.SceneNodesObject.Update();
                Repaint();
            }
        }
        private static bool SceneFileDragValidator(Object[] items, string[] paths)
        {
            foreach (string path in paths)
            {
                if (ScenePathProcessor.IsValidSceneItem(path))
                {
                    return(true);
                }
            }

            return(false);
        }
Beispiel #3
0
        private bool IsValidDrag(UnityEngine.Object[] selectedObjects, string[] selectedPaths)
        {
            string extension = System.IO.Path.GetExtension(selectedPaths[0]);

            // Ignore folders
            if (string.IsNullOrEmpty(extension))
            {
                return(false);
            }

            return(ScenePathProcessor.IsValidSceneItem(selectedPaths[0]));
        }