public override void Drop(object[] dragObjects, PointerEventData pointerEventData)
        {
            base.Drop(dragObjects, pointerEventData);
            ProjectItem    dropTarget = (ProjectItem)m_listBox.DropTarget;
            IRuntimeEditor editor     = IOC.Resolve <IRuntimeEditor>();

            if (CanCreatePrefab(dropTarget, dragObjects))
            {
                ExposeToEditor dragObject = (ExposeToEditor)dragObjects[0];
                if (dropTarget.IsFolder)
                {
                    editor.CreatePrefab(dropTarget, dragObject, null, assetItem =>
                    {
                    });
                }
            }
            else
            {
                if (dragObjects[0] is ExposeToEditor)
                {
                    ExposeToEditor dragObject = (ExposeToEditor)dragObjects[0];
                    editor.CreatePrefab(m_folders[0], dragObject, null, assetItem =>
                    {
                    });
                }
            }
            m_listBox.ExternalItemDrop();
        }
Example #2
0
        protected virtual void OnDrop(PointerEventData pointerEventData)
        {
            object[]       dragObjects = Editor.DragDrop.DragObjects;
            ProjectItem    dropTarget  = (ProjectItem)m_listBox.DropTarget;
            IRuntimeEditor editor      = IOC.Resolve <IRuntimeEditor>();

            if (dropTarget != null && dropTarget.IsFolder && CanCreatePrefab(dropTarget, dragObjects))
            {
                ExposeToEditor dragObject = (ExposeToEditor)dragObjects[0];
                if (dropTarget.IsFolder)
                {
                    editor.CreatePrefab(dropTarget, dragObject, null, assetItem => { });
                }
            }
            else
            {
                if (dragObjects[0] is ExposeToEditor)
                {
                    ExposeToEditor dragObject = (ExposeToEditor)dragObjects[0];
                    if (dragObject.CanCreatePrefab)
                    {
                        if (m_folders != null)
                        {
                            editor.CreatePrefab(m_folders[0], dragObject, null, assetItem => { });
                        }
                    }
                }
            }
            m_listBox.ExternalItemDrop();
        }
        public override IEnumerator Import(string filePath, string targetPath)
        {
            Mesh mesh = ImportFile(filePath);

            mesh.name = Path.GetFileName(filePath) + "Mesh";

            GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);

            go.GetComponent <MeshFilter>().sharedMesh = mesh;
            go.name = Path.GetFileName(filePath);
            go.SetActive(false);

            IProject       project = IOC.Resolve <IProject>();
            IRuntimeEditor editor  = IOC.Resolve <IRuntimeEditor>();

            ProjectItem folder = project.GetFolder(Path.GetDirectoryName(targetPath));

            yield return(editor.CreatePrefab(folder, go.AddComponent <ExposeToEditor>(), true, assetItems => { }));

            Object.Destroy(mesh);
            Object.Destroy(go);
        }
Example #4
0
        public override void Drop(object[] dragObjects, PointerEventData pointerEventData)
        {
            base.Drop(dragObjects, pointerEventData);

            ProjectItem dropTarget = (ProjectItem)m_treeView.DropTarget;
            if (CanDrop(dropTarget, dragObjects))
            {
                Editor.IsBusy = true;
                m_project.Move(dragObjects.OfType<ProjectItem>().ToArray(), dropTarget, (error, arg1, arg2) => Editor.IsBusy = false);
            }
            else if(dropTarget != null && dropTarget.IsFolder && CanCreatePrefab(dropTarget, dragObjects))
            {
                IRuntimeEditor editor = IOC.Resolve<IRuntimeEditor>();
                ExposeToEditor dragObject = (ExposeToEditor)dragObjects[0];
                if (dropTarget.IsFolder)
                {
                    editor.CreatePrefab(dropTarget, dragObject, null, assetItem =>
                    {
                    });
                }
            }
            m_treeView.ExternalItemDrop();
        }