mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-03-05 21:40:31 +00:00
Initial implementation of the Asset Browser tool.
This commit is contained in:
parent
d22e7c98e1
commit
1278cf22a2
38 changed files with 8518 additions and 0 deletions
127
Templates/BaseGame/game/tools/assetBrowser/scripts/editModule.cs
Normal file
127
Templates/BaseGame/game/tools/assetBrowser/scripts/editModule.cs
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
//
|
||||
function AssetBrowser::CreateNewModule(%this)
|
||||
{
|
||||
Canvas.pushDialog(AssetBrowser_AddModule);
|
||||
AssetBrowser_addModuleWindow.selectWindow();
|
||||
|
||||
AssetBrowser_addModuleWindow.callbackFunction = "AssetBrowser.loadFilters();";
|
||||
}
|
||||
|
||||
function AssetBrowser_editModule::saveModule(%this)
|
||||
{
|
||||
//Check what special actions we may need to do, such as renames
|
||||
%moduleDef = ModuleDatabase.findModule(AssetBrowser.selectedModule, 1);
|
||||
|
||||
%oldModuleName = %moduleDef.ModuleID;
|
||||
|
||||
if(%oldModuleName !$= AssetBrowser.tempModule.ModuleID)
|
||||
{
|
||||
//rename the script file and script namespaces
|
||||
%oldScriptFilePath = "data/" @ %oldModuleName @ "/" @ %moduleDef.scriptFile;
|
||||
%newscriptFilePath = "data/" @ AssetBrowser.tempModule.ModuleID @ "/";
|
||||
%scriptExt = fileExt(%moduleDef.scriptFile);
|
||||
|
||||
%newScriptFileName = %newscriptFilePath @ "/" @ AssetBrowser.tempModule.ModuleID @ %scriptExt;
|
||||
%newScriptFileOldName = %newscriptFilePath @ "/" @ %oldModuleName @ %scriptExt;
|
||||
|
||||
%moduleDef.ModuleId = AssetBrowser.tempModule.ModuleID;
|
||||
%moduleDef.scriptFile = AssetBrowser.tempModule.ModuleID @ %scriptExt;
|
||||
|
||||
ModuleDatabase.copyModule(%moduleDef, AssetBrowser.tempModule.ModuleID, "data/" @ AssetBrowser.tempModule.ModuleID);
|
||||
|
||||
//Go through our scriptfile and replace the old namespace with the new
|
||||
%editedFileContents = "";
|
||||
|
||||
%file = new FileObject();
|
||||
if ( %file.openForRead( %newScriptFileOldName ) )
|
||||
{
|
||||
while ( !%file.isEOF() )
|
||||
{
|
||||
%line = %file.readLine();
|
||||
%line = trim( %line );
|
||||
|
||||
%editedFileContents = %editedFileContents @ strreplace(%line, %oldModuleName, AssetBrowser.tempModule.ModuleID) @ "\n";
|
||||
}
|
||||
|
||||
%file.close();
|
||||
}
|
||||
|
||||
if(%editedFileContents !$= "")
|
||||
{
|
||||
%file.openForWrite(%newScriptFileName);
|
||||
|
||||
%file.writeline(%editedFileContents);
|
||||
|
||||
%file.close();
|
||||
}
|
||||
|
||||
%success = fileDelete(%newScriptFileOldName);
|
||||
|
||||
ModuleDatabase.unloadExplicit(%oldModuleName);
|
||||
|
||||
%success = fileDelete("data/" @ %oldModuleName);
|
||||
|
||||
ModuleDatabase.loadExplicit(AssetBrowser.tempModule.ModuleID);
|
||||
}
|
||||
|
||||
//Now, update the module file itself
|
||||
//%file = ModuleDatabase.getAssetFilePath(%moduleDef.ModuleID);
|
||||
//%success = TamlWrite(AssetBrowser_editAsset.editedAsset, %file);
|
||||
|
||||
AssetBrowser.loadFilters();
|
||||
|
||||
Canvas.popDialog(AssetBrowser_editModule);
|
||||
}
|
||||
|
||||
function AssetBrowser::editModuleInfo(%this)
|
||||
{
|
||||
Canvas.pushDialog(AssetBrowser_editModule);
|
||||
|
||||
%moduleDef = ModuleDatabase.findModule(AssetBrowser.selectedModule, 1);
|
||||
|
||||
AssetBrowser.tempModule = new ModuleDefinition();
|
||||
AssetBrowser.tempModule.assignFieldsFrom(%moduleDef);
|
||||
|
||||
ModuleEditInspector.inspect(AssetBrowser.tempModule);
|
||||
AssetBrowser_editModule.editedModuleId = AssetBrowser.selectedModule;
|
||||
AssetBrowser_editModule.editedModule = AssetBrowser.tempModule;
|
||||
|
||||
//remove some of the groups we don't need:
|
||||
for(%i=0; %i < ModuleEditInspector.getCount(); %i++)
|
||||
{
|
||||
%caption = ModuleEditInspector.getObject(%i).caption;
|
||||
|
||||
if(%caption $= "BuildId" || %caption $= "type" || %caption $= "Dependencies" || %caption $= "scriptFile"
|
||||
|| %caption $= "AssetTagsManifest" || %caption $= "ScopeSet" || %caption $= "ModulePath"
|
||||
|| %caption $= "ModuleFile" || %caption $= "ModuleFilePath" || %caption $= "ModuleScriptFilePath" )
|
||||
{
|
||||
ModuleEditInspector.remove(ModuleEditInspector.getObject(%i));
|
||||
%i--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function AssetBrowser::renameModule(%this)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
function AssetBrowser::reloadModule(%this)
|
||||
{
|
||||
ModuleDatabase.unregisterModule(AssetBrowser.SelectedModule, 1);
|
||||
ModuleDatabase.loadExplicit(AssetBrowser.SelectedModule);
|
||||
}
|
||||
|
||||
function AssetBrowser::deleteModule(%this)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
function AssetBrowser::RefreshModuleDependencies(%this)
|
||||
{
|
||||
//Iterate through all our modules
|
||||
|
||||
//then, iterate through the module's assets
|
||||
|
||||
//if an asset has a module that isn't us, queue that into the dependencies list
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue