editModule.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. //
  2. function AssetBrowser::CreateNewModule(%this)
  3. {
  4. Canvas.pushDialog(AssetBrowser_AddModule);
  5. AssetBrowser_addModuleWindow.selectWindow();
  6. AssetBrowser_addModuleWindow.callbackFunction = "AssetBrowser.loadFilters();";
  7. }
  8. function AssetBrowser_editModule::saveModule(%this)
  9. {
  10. //Check what special actions we may need to do, such as renames
  11. %moduleDef = ModuleDatabase.findModule(AssetBrowser.selectedModule, 1);
  12. %oldModuleName = %moduleDef.ModuleID;
  13. if(%oldModuleName !$= AssetBrowser.tempModule.ModuleID)
  14. {
  15. //rename the script file and script namespaces
  16. %oldScriptFilePath = "data/" @ %oldModuleName @ "/" @ %moduleDef.scriptFile;
  17. %newscriptFilePath = "data/" @ AssetBrowser.tempModule.ModuleID @ "/";
  18. %scriptExt = fileExt(%moduleDef.scriptFile);
  19. %newScriptFileName = %newscriptFilePath @ "/" @ AssetBrowser.tempModule.ModuleID @ %scriptExt;
  20. %newScriptFileOldName = %newscriptFilePath @ "/" @ %oldModuleName @ %scriptExt;
  21. %moduleDef.ModuleId = AssetBrowser.tempModule.ModuleID;
  22. %moduleDef.scriptFile = AssetBrowser.tempModule.ModuleID @ %scriptExt;
  23. ModuleDatabase.copyModule(%moduleDef, AssetBrowser.tempModule.ModuleID, "data/" @ AssetBrowser.tempModule.ModuleID);
  24. //Go through our scriptfile and replace the old namespace with the new
  25. %editedFileContents = "";
  26. %file = new FileObject();
  27. if ( %file.openForRead( %newScriptFileOldName ) )
  28. {
  29. while ( !%file.isEOF() )
  30. {
  31. %line = %file.readLine();
  32. %line = trim( %line );
  33. %editedFileContents = %editedFileContents @ strreplace(%line, %oldModuleName, AssetBrowser.tempModule.ModuleID) @ "\n";
  34. }
  35. %file.close();
  36. }
  37. if(%editedFileContents !$= "")
  38. {
  39. %file.openForWrite(%newScriptFileName);
  40. %file.writeline(%editedFileContents);
  41. %file.close();
  42. }
  43. %success = fileDelete(%newScriptFileOldName);
  44. ModuleDatabase.unloadExplicit(%oldModuleName);
  45. %success = fileDelete("data/" @ %oldModuleName);
  46. ModuleDatabase.loadExplicit(AssetBrowser.tempModule.ModuleID);
  47. }
  48. //Now, update the module file itself
  49. //%file = ModuleDatabase.getAssetFilePath(%moduleDef.ModuleID);
  50. //%success = TamlWrite(AssetBrowser_editAsset.editedAsset, %file);
  51. AssetBrowser.loadFilters();
  52. Canvas.popDialog(AssetBrowser_editModule);
  53. }
  54. function AssetBrowser::editModuleInfo(%this)
  55. {
  56. Canvas.pushDialog(AssetBrowser_editModule);
  57. %moduleDef = ModuleDatabase.findModule(AssetBrowser.selectedModule, 1);
  58. AssetBrowser.tempModule = new ModuleDefinition();
  59. AssetBrowser.tempModule.assignFieldsFrom(%moduleDef);
  60. ModuleEditInspector.inspect(AssetBrowser.tempModule);
  61. AssetBrowser_editModule.editedModuleId = AssetBrowser.selectedModule;
  62. AssetBrowser_editModule.editedModule = AssetBrowser.tempModule;
  63. //remove some of the groups we don't need:
  64. for(%i=0; %i < ModuleEditInspector.getCount(); %i++)
  65. {
  66. %caption = ModuleEditInspector.getObject(%i).caption;
  67. if(%caption $= "BuildId" || %caption $= "type" || %caption $= "Dependencies" || %caption $= "scriptFile"
  68. || %caption $= "AssetTagsManifest" || %caption $= "ScopeSet" || %caption $= "ModulePath"
  69. || %caption $= "ModuleFile" || %caption $= "ModuleFilePath" || %caption $= "ModuleScriptFilePath" )
  70. {
  71. ModuleEditInspector.remove(ModuleEditInspector.getObject(%i));
  72. %i--;
  73. }
  74. }
  75. }
  76. function AssetBrowser::renameModule(%this)
  77. {
  78. }
  79. function AssetBrowser::reloadModule(%this)
  80. {
  81. ModuleDatabase.unregisterModule(AssetBrowser.SelectedModule, 1);
  82. ModuleDatabase.loadExplicit(AssetBrowser.SelectedModule);
  83. }
  84. function AssetBrowser::deleteModule(%this)
  85. {
  86. }
  87. function AssetBrowser::RefreshModuleDependencies(%this)
  88. {
  89. //Iterate through all our modules
  90. //then, iterate through the module's assets
  91. //if an asset has a module that isn't us, queue that into the dependencies list
  92. }