Browse Source

Added "Force Reimport" support for directories

Matt Benic 9 years ago
parent
commit
3ed6d917d5

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

@@ -86,6 +86,11 @@ class ProjectFrameMenus extends Atomic.ScriptObject {
                 return true;
                 return true;
             }
             }
 
 
+            if (refid == "force_reimport_folder") {
+                ToolCore.assetDatabase.reimportAllAssetsInDirectory(path);
+                return true;
+            }
+
         }
         }
 
 
         return false;
         return false;
@@ -163,6 +168,7 @@ var assetFolderContextItems = {
     "Create Script": ["create_script", undefined, "ComponentBitmap"],
     "Create Script": ["create_script", undefined, "ComponentBitmap"],
     "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, ""],
     "-1": null,
     "-1": null,
     [showInFs]: ["reveal_folder", undefined, ""],
     [showInFs]: ["reveal_folder", undefined, ""],
     "-2": null,
     "-2": null,

+ 17 - 0
Source/ToolCore/Assets/AssetDatabase.cpp

@@ -571,5 +571,22 @@ void AssetDatabase::ReimportAllAssets()
 
 
 }
 }
 
 
+void AssetDatabase::ReimportAllAssetsInDirectory(const String& directoryPath)
+{
+    List<SharedPtr<Asset>>::ConstIterator itr = assets_.Begin();
+
+    while (itr != assets_.End())
+    {
+        if ((*itr)->GetPath().StartsWith(directoryPath))
+        {
+            (*itr)->SetDirty(true);
+        }
+        itr++;
+    }
+
+    Scan();
+
+}
+
 
 
 }
 }

+ 1 - 0
Source/ToolCore/Assets/AssetDatabase.h

@@ -41,6 +41,7 @@ public:
     void Scan();
     void Scan();
 
 
     void ReimportAllAssets();
     void ReimportAllAssets();
+    void ReimportAllAssetsInDirectory(const String& directoryPath);
 
 
     void GetFolderAssets(String folder, PODVector<Asset*>& assets) const;
     void GetFolderAssets(String folder, PODVector<Asset*>& assets) const;