Browse Source

add import asset menu entry

JimMarlowe 8 years ago
parent
commit
dafbc3aae6

+ 16 - 0
Script/AtomicEditor/ui/frames/ProjectFrame.ts

@@ -25,6 +25,7 @@ import {default as AtomicEditor} from "editor/Editor";
 import ProjectFrameMenu = require("./menus/ProjectFrameMenu");
 import ProjectFrameMenu = require("./menus/ProjectFrameMenu");
 import MenuItemSources = require("./menus/MenuItemSources");
 import MenuItemSources = require("./menus/MenuItemSources");
 import SearchBarFiltering = require("resources/SearchBarFiltering");
 import SearchBarFiltering = require("resources/SearchBarFiltering");
+import EditorUI = require("ui/EditorUI");
 
 
 class ProjectFrame extends ScriptWidget {
 class ProjectFrame extends ScriptWidget {
 
 
@@ -96,6 +97,21 @@ class ProjectFrame extends ScriptWidget {
             }
             }
         });
         });
 
 
+        this.subscribeToEvent("ImportAssetEvent", (data) => {
+            if (data.file.length > 0) {  // imported an asset file 
+                var fileSystem = Atomic.getFileSystem();
+                var srcFilename = data.file;
+                var pathInfo = Atomic.splitPath(srcFilename);
+                var destFilename = Atomic.addTrailingSlash(data.destination);
+                destFilename += pathInfo.fileName + pathInfo.ext;
+                if ( fileSystem.copy(srcFilename, destFilename) )
+                    EditorUI.showEditorStatus ( "Copied Asset " + pathInfo.fileName + " into project as " + destFilename);
+                else {
+                    EditorUI.showEditorStatus ( "Warning, could not copy Asset " + pathInfo.fileName + " from " + srcFilename);
+                }
+            }
+        });
+
     }
     }
 
 
     handleAssetRenamed(ev: ToolCore.AssetRenamedEvent) {
     handleAssetRenamed(ev: ToolCore.AssetRenamedEvent) {

+ 10 - 0
Script/AtomicEditor/ui/frames/menus/ProjectFrameMenu.ts

@@ -105,6 +105,15 @@ class ProjectFrameMenus extends Atomic.ScriptObject {
                 return true;
                 return true;
             }
             }
 
 
+            if (refid == "import_asset") {
+                var fileUtils = new Editor.FileUtils();
+                var myassets = fileUtils.findFile("" , "");
+                if (  myassets.length > 0 ) {
+                    this.sendEvent("ImportAssetEvent", { "file" : myassets, "destination" : path });
+                }
+                return true;
+            }
+
             if (refid == "force_reimport_folder") {
             if (refid == "force_reimport_folder") {
                 ToolCore.assetDatabase.reimportAllAssetsInDirectory(path);
                 ToolCore.assetDatabase.reimportAllAssetsInDirectory(path);
                 return true;
                 return true;
@@ -196,6 +205,7 @@ var assetFolderContextItems = {
     "Create Material": ["create_material", undefined, "ComponentBitmap"],
     "Create Material": ["create_material", undefined, "ComponentBitmap"],
     "Create Scene": ["create_scene", undefined, "ComponentBitmap"],
     "Create Scene": ["create_scene", undefined, "ComponentBitmap"],
     "Force Reimport": ["force_reimport_folder", undefined, ""],
     "Force Reimport": ["force_reimport_folder", undefined, ""],
+    "Import Asset...": ["import_asset", undefined, ""],
     "-1": null,
     "-1": null,
     [showInFs]: ["reveal_folder", undefined, ""],
     [showInFs]: ["reveal_folder", undefined, ""],
     "-2": null,
     "-2": null,