popupMenus.tscript 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435
  1. function AssetBrowser::buildPopupMenus(%this)
  2. {
  3. if( !isObject( AddNewModulePopup ) )
  4. {
  5. new PopupMenu( AddNewModulePopup )
  6. {
  7. superClass = "MenuBuilder";
  8. class = "EditorWorldMenu";
  9. isPopup = true;
  10. item[ 0 ] = "Create New Module" TAB "" TAB "AssetBrowser.CreateNewModule();";
  11. item[ 1 ] = "Refresh Module Dependencies" TAB "" TAB "AssetBrowser.RefreshModuleDependencies();";
  12. };
  13. AddNewModulePopup.enableItem(1, false);
  14. }
  15. if( !isObject( EditAssetPopup ) )
  16. {
  17. new PopupMenu( EditAssetPopup )
  18. {
  19. superClass = "MenuBuilder";
  20. class = "EditorWorldMenu";
  21. //isPopup = true;
  22. item[ 0 ] = "Edit Asset" TAB "" TAB "AssetBrowser.editAsset();";
  23. item[ 1 ] = "Rename Asset" TAB "" TAB "AssetBrowser.renameAsset();";
  24. item[ 2 ] = "Reload Asset" TAB "" TAB "AssetBrowser.refreshAsset();";
  25. item[ 3 ] = "Asset Properties" TAB "" TAB "AssetBrowser.editAssetInfo();";
  26. item[ 4 ] = "-";
  27. item[ 5 ] = "Duplicate Asset" TAB "" TAB "AssetBrowser.duplicateAsset();";
  28. item[ 6 ] = "-";
  29. item[ 7 ] = "Regenerate Preview Image" TAB "" TAB "AssetBrowser.regeneratePreviewImage();";
  30. item[ 8 ] = "-";
  31. item[ 9 ] = "Re-Import Asset" TAB "" TAB "AssetBrowser.reImportAsset();";
  32. item[ 10 ] = "-";
  33. item[ 11 ] = "Open File Location" TAB "" TAB "AssetBrowser.openFileLocation();";
  34. item[ 12 ] = "-";
  35. item[ 13 ] = "Delete Asset" TAB "" TAB "AssetBrowser.deleteAsset();";
  36. jumpFileName = "";
  37. jumpLineNumber = "";
  38. };
  39. }
  40. if( !isObject( EditLevelAssetPopup ) )
  41. {
  42. new PopupMenu( EditLevelAssetPopup )
  43. {
  44. superClass = "MenuBuilder";
  45. class = "EditorWorldMenu";
  46. //isPopup = true;
  47. item[ 0 ] = "Edit Level" TAB "" TAB "AssetBrowser.editAsset();";
  48. item[ 1 ] = "Append as Sublevel" TAB "" TAB "AssetBrowser.appendSublevel();";
  49. item[ 2 ] = "Rename Asset" TAB "" TAB "AssetBrowser.renameAsset();";
  50. item[ 3 ] = "Reload Asset" TAB "" TAB "AssetBrowser.refreshAsset();";
  51. item[ 4 ] = "Asset Properties" TAB "" TAB "AssetBrowser.editAssetInfo();";
  52. item[ 5 ] = "-";
  53. Item[ 6 ] = "Duplicate Asset" TAB "" TAB "AssetBrowser.duplicateAsset();";
  54. item[ 7 ] = "-";
  55. item[ 8 ] = "Open File Location" TAB "" TAB "AssetBrowser.openFileLocation();";
  56. item[ 9 ] = "-";
  57. item[ 10 ] = "Delete Asset" TAB "" TAB "AssetBrowser.deleteAsset();";
  58. jumpFileName = "";
  59. jumpLineNumber = "";
  60. };
  61. }
  62. if( !isObject( EditTerrainAssetPopup ) )
  63. {
  64. new PopupMenu( EditTerrainAssetPopup )
  65. {
  66. superClass = "MenuBuilder";
  67. class = "EditorWorldMenu";
  68. //isPopup = true;
  69. item[ 0 ] = "Export Terraform Data" TAB "" TAB "Heightfield::saveBitmap(\"\");";
  70. item[ 1 ] = "Rename Asset" TAB "" TAB "AssetBrowser.renameAsset();";
  71. item[ 2 ] = "Asset Properties" TAB "" TAB "AssetBrowser.editAssetInfo();";
  72. item[ 3 ] = "-";
  73. Item[ 4 ] = "Duplicate Asset" TAB "" TAB "AssetBrowser.duplicateAsset();";
  74. item[ 5 ] = "-";
  75. item[ 6 ] = "Open File Location" TAB "" TAB "AssetBrowser.openFileLocation();";
  76. item[ 7 ] = "-";
  77. item[ 8 ] = "Delete Asset" TAB "" TAB "AssetBrowser.deleteAsset();";
  78. jumpFileName = "";
  79. jumpLineNumber = "";
  80. };
  81. }
  82. if( !isObject( AddNewComponentAssetPopup ) )
  83. {
  84. new PopupMenu( AddNewComponentAssetPopup )
  85. {
  86. superClass = "MenuBuilder";
  87. class = "EditorWorldMenu";
  88. //isPopup = true;
  89. //item[ 0 ] = "Create Component" TAB "" TAB "Canvas.pushDialog(AssetBrowser_newComponentAsset); AssetBrowser_newComponentAsset-->NewComponentPackageList.setText(AssetBrowser.selectedModule);";
  90. item[ 0 ] = "Component" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ComponentAsset\", AssetBrowser.selectedModule);";
  91. //list other common component types here to shortcut the creation process
  92. };
  93. }
  94. if( !isObject( AddNewScriptAssetPopup ) )
  95. {
  96. %this.AddNewScriptAssetPopup = new PopupMenu( AddNewScriptAssetPopup )
  97. {
  98. superClass = "MenuBuilder";
  99. class = "EditorWorldMenu";
  100. //isPopup = true;
  101. //item[ 0 ] = "Create Component" TAB AddNewComponentAssetPopup;
  102. item[ 0 ] = "Create Script" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ScriptAsset\", AssetBrowser.selectedModule);";
  103. item[ 1 ] = "Create State Machine" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"StateMachineAsset\", AssetBrowser.selectedModule);";
  104. item[ 2 ] = "-";
  105. item[ 3 ] = "Create Game Mode" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"GameMode\", AssetBrowser.selectedModule);";
  106. //item[ 3 ] = "Create Game Object" TAB "" TAB "AssetBrowser.createNewGameObjectAsset(\"NewGameObject\", AssetBrowser.selectedModule);";
  107. };
  108. //%this.AddNewScriptAssetPopup.insertSubMenu(0, "Create Component", AddNewComponentAssetPopup);
  109. }
  110. if( !isObject( AddNewArtAssetPopup ) )
  111. {
  112. %this.AddNewArtAssetPopup = new PopupMenu( AddNewArtAssetPopup )
  113. {
  114. superClass = "MenuBuilder";
  115. class = "EditorWorldMenu";
  116. //isPopup = true;
  117. item[ 0 ] = "Create Material" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"MaterialAsset\", AssetBrowser.selectedModule);";//"createNewMaterialAsset(\"NewMaterial\", AssetBrowser.selectedModule);";
  118. item[ 1 ] = "Create Terrain Material" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"TerrainMaterialAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewImageAsset(\"NewImage\", AssetBrowser.selectedModule);";
  119. item[ 2 ] = "Create Image" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ImageAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewImageAsset(\"NewImage\", AssetBrowser.selectedModule);";
  120. item[ 3 ] = "-";
  121. item[ 4 ] = "Create Terrain Data" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"TerrainAsset\", AssetBrowser.selectedModule);";
  122. item[ 5 ] = "-";
  123. item[ 6 ] = "Create GUI" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"GUIAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewGUIAsset(\"NewGUI\", AssetBrowser.selectedModule);";
  124. item[ 7 ] = "-";
  125. item[ 8 ] = "Create Post Effect" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"PostEffectAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewPostEffectAsset(\"NewPostEffect\", AssetBrowser.selectedModule);";
  126. };
  127. }
  128. if( !isObject( AddNewCppAssetPopup ) )
  129. {
  130. %this.AddNewCppAssetPopup = new PopupMenu( AddNewCppAssetPopup )
  131. {
  132. superClass = "MenuBuilder";
  133. class = "EditorWorldMenu";
  134. //isPopup = true;
  135. item[ 0 ] = "Create Static C++ Class" TAB "" TAB "$AssetBrowser::newAssetTypeOverride = \"StaticClass\"; AssetBrowser.setupCreateNewAsset(\"CppAsset\", AssetBrowser.selectedModule);";
  136. item[ 1 ] = "Create ScriptObject C++ Class" TAB "" TAB "$AssetBrowser::newAssetTypeOverride = \"ScriptClass\"; AssetBrowser.setupCreateNewAsset(\"CppAsset\", AssetBrowser.selectedModule);";
  137. item[ 2 ] = "Create AssetType C++ Class" TAB "" TAB "$AssetBrowser::newAssetTypeOverride = \"AssetTypeCppClass\"; AssetBrowser.setupCreateNewAsset(\"CppAsset\", AssetBrowser.selectedModule);";
  138. item[ 3 ] = "Create Render C++ Class" TAB "" TAB "$AssetBrowser::newAssetTypeOverride = \"RenderCppClass\"; AssetBrowser.setupCreateNewAsset(\"CppAsset\", AssetBrowser.selectedModule);";
  139. item[ 3 ] = "Create SceneObject Class" TAB "" TAB "$AssetBrowser::newAssetTypeOverride = \"SceneObjectCppClass\"; AssetBrowser.setupCreateNewAsset(\"CppAsset\", AssetBrowser.selectedModule);";
  140. };
  141. //%this.AddNewScriptAssetPopup.insertSubMenu(0, "Create Component", AddNewComponentAssetPopup);
  142. }
  143. if( !isObject( AddNewAssetPopup ) )
  144. {
  145. %this.AddNewAssetPopup = new PopupMenu( AddNewAssetPopup )
  146. {
  147. superClass = "MenuBuilder";
  148. class = "EditorWorldMenu";
  149. item[0] = "Create Folder" TAB "" TAB "AssetBrowser.CreateNewFolder();";
  150. item[1] = "-";
  151. item[2] = "Create Code Asset" TAB AddNewScriptAssetPopup;
  152. item[3] = "-";
  153. item[4] = "Create Art Asset" TAB AddNewArtAssetPopup;
  154. item[5] = "-";
  155. item[6] = "Create Level" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"LevelAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewLevelAsset(\"NewLevel\", AssetBrowser.selectedModule);";
  156. item[7] = "-";
  157. item[8] = "Create C++ Asset" TAB AddNewCppAssetPopup;
  158. item[9] = "-";
  159. item[10] = "Create New Module" TAB "" TAB "AssetBrowser.CreateNewModule();";
  160. item[11] = "-";
  161. item[12] = "View Loose Files" TAB "" TAB "AssetBrowser.importLooseFiles();";
  162. Item[ 13 ] = "-";
  163. item[ 14 ] = "Open Folder Location" TAB "" TAB "AssetBrowser.openFolderLocation();";
  164. };
  165. }
  166. if( !isObject( EditModulePopup ) )
  167. {
  168. new PopupMenu( EditModulePopup )
  169. {
  170. superClass = "MenuBuilder";
  171. class = "EditorWorldMenu";
  172. //isPopup = true;
  173. item[ 0 ] = "New Asset" TAB AddNewAssetPopup;
  174. item[ 1 ] = "Reload Module" TAB "" TAB "AssetBrowser.reloadModule();";
  175. Item[ 2 ] = "Edit Module" TAB "" TAB "AssetBrowser.editModuleScript();";
  176. Item[ 3 ] = "-";
  177. Item[ 4 ] = "Module Properties" TAB "" TAB "AssetBrowser.editModuleInfo();";
  178. Item[ 5 ] = "-";
  179. item[ 6 ] = "Open Folder Location" TAB "" TAB "AssetBrowser.openFolderLocation();";
  180. item[ 7 ] = "-";
  181. Item[ 8 ] = "Duplicate Module" TAB "" TAB "AssetBrowser.copyModule();";
  182. Item[ 9 ] = "-";
  183. Item[ 10 ] = "Delete Module" TAB "" TAB "AssetBrowser.deleteModule();";
  184. item[ 11 ] = "-";
  185. item[ 12 ] = "View Loose Files" TAB "" TAB "AssetBrowser.importLooseFiles();";
  186. };
  187. }
  188. if( !isObject( EditNonModulePopup ) )
  189. {
  190. new PopupMenu( EditNonModulePopup )
  191. {
  192. superClass = "MenuBuilder";
  193. class = "EditorWorldMenu";
  194. //isPopup = true;
  195. item[ 0 ] = "Turn Folder into Module" TAB "" TAB "AssetBrowser.ConvertFolderIntoModule();";
  196. };
  197. }
  198. if( !isObject( EditFolderPopup ) )
  199. {
  200. new PopupMenu( EditFolderPopup )
  201. {
  202. superClass = "MenuBuilder";
  203. class = "EditorWorldMenu";
  204. //isPopup = true;
  205. Item[ 0 ] = "Create" TAB AddNewAssetPopup;
  206. item[ 1 ] = "-";
  207. item[ 2 ] = "Rename Folder" TAB "" TAB "AssetBrowser.renameAsset();";
  208. Item[ 3 ] = "Duplicate Folder" TAB "" TAB "AssetBrowser.duplicateAsset();";
  209. item[ 4 ] = "-";
  210. item[ 5 ] = "Delete Folder" TAB "" TAB "AssetBrowser.deleteAsset();";
  211. item[ 6 ] = "-";
  212. item[ 7 ] = "View Loose Files" TAB "" TAB "AssetBrowser.importLooseFiles();";
  213. };
  214. }
  215. if( !isObject( EditAssetCategoryPopup ) )
  216. {
  217. new PopupMenu( EditAssetCategoryPopup )
  218. {
  219. superClass = "MenuBuilder";
  220. class = "EditorWorldMenu";
  221. //isPopup = true;
  222. item[ 0 ] = "Toggle Autoloading of Script Assets" TAB "" TAB "AssetBrowser.toggleAutoloadAsset(\"Script\");";
  223. };
  224. }
  225. if( !isObject( AssetTypeListPopup ) )
  226. {
  227. new PopupMenu( AssetTypeListPopup )
  228. {
  229. superClass = "MenuBuilder";
  230. class = "EditorWorldMenu";
  231. //isPopup = true;
  232. radioSelection = false;
  233. };
  234. AssetTypeListPopup.addItem(0, AssetFilterTypeList.getKey(0) TAB "" TAB "AssetBrowser.toggleAssetTypeFilter(" @ 0 @ ");");
  235. AssetTypeListPopup.addItem(1, "-");
  236. for(%i=1; %i < AssetFilterTypeList.Count(); %i++)
  237. {
  238. %assetTypeName = AssetFilterTypeList.getKey(%i);
  239. AssetTypeListPopup.addItem(%i+1, %assetTypeName TAB "" TAB "AssetBrowser.toggleAssetTypeFilter(" @ %i + 1 @ ");");
  240. }
  241. }
  242. //Browser visibility menu
  243. if( !isObject( BrowserVisibilityPopup ) )
  244. {
  245. new PopupMenu( BrowserVisibilityPopup )
  246. {
  247. superClass = "MenuBuilder";
  248. class = "EditorWorldMenu";
  249. //isPopup = true;
  250. item[ 0 ] = "Toggle Show Core Modules" TAB "" TAB "AssetBrowser.viewCoreModulesFilter();";
  251. item[ 1 ] = "Toggle Show Tools Modules" TAB "" TAB "AssetBrowser.viewToolsModulesFilter();";
  252. item[ 2 ] = "Toggle Only Show Modules with Assets" TAB "" TAB "AssetBrowser.viewPopulatedModulesFilter();";
  253. Item[ 3 ] = "-";
  254. item[ 4 ] = "Show Folders" TAB "" TAB "AssetBrowser.toggleShowingFolders();";
  255. item[ 5 ] = "Show Empty Folders" TAB "" TAB "AssetBrowser.toggleShowingEmptyFolders();";
  256. item[ 6 ] = "-";
  257. item[ 7 ] = "Filter by Asset Type" TAB AssetTypeListPopup;
  258. item[ 8 ] = "-";
  259. item[ 9 ] = "Enable Auto-refresh" TAB "" TAB "AssetBrowser.toggleAutorefresh();";
  260. };
  261. BrowserVisibilityPopup.enableItem(5, false);
  262. BrowserVisibilityPopup.enableItem(9, false);
  263. }
  264. //
  265. //Import Legacy menus
  266. if( !isObject( ImportAssetsPopup ) )
  267. {
  268. new PopupMenu( ImportAssetsPopup )
  269. {
  270. superClass = "MenuBuilder";
  271. class = "EditorWorldMenu";
  272. item[ 1 ] = "Import new assets" TAB "" TAB "Canvas.pushDialog(AssetImportCtrl);";
  273. };
  274. }
  275. if( !isObject( EditGameObjectAssetPopup ) )
  276. {
  277. new PopupMenu( EditGameObjectAssetPopup )
  278. {
  279. superClass = "MenuBuilder";
  280. class = "EditorWorldMenu";
  281. //isPopup = true;
  282. item[ 0 ] = "Open GameObject Editor" TAB "" TAB "echo(\"Not yet implemented.\");";
  283. item[ 1 ] = "Edit GameObject Script" TAB "" TAB "AssetBrowser.editGameObjectAssetScript(AssetDatabase.acquireAsset(EditGameObjectAssetPopup.assetId));";
  284. item[ 2 ] = "-";
  285. item[ 3 ] = "Apply Instance to GameObject" TAB "" TAB "AssetBrowser.applyInstanceToGameObject(AssetDatabase.acquireAsset(EditGameObjectAssetPopup.assetId));";
  286. item[ 4 ] = "Reset Instance to GameObject" TAB "" TAB "echo(\"Not yet implemented.\");";
  287. item[ 5 ] = "-";
  288. item[ 6 ] = "Create Child GameObject" TAB "" TAB "echo(\"Not yet implemented.\");";
  289. };
  290. }
  291. //Asset Import Resolution menus
  292. if( !isObject( ImportAssetResolutionsPopup ) )
  293. {
  294. %this.ImportAssetResolutionsPopup = new PopupMenu( ImportAssetResolutionsPopup )
  295. {
  296. superClass = "MenuBuilder";
  297. class = "EditorWorldMenu";
  298. item[0] = "Use original Asset for duplicates" TAB "" TAB "";
  299. item[1] = "Override duplicate with new Asset" TAB "" TAB "";
  300. item[2] = "-";
  301. item[3] = "Rename Asset" TAB "" TAB "";
  302. item[4] = "-";
  303. item[5] = "Find missing file" TAB "" TAB "ImportAssetWindow.findMissingFile(ImportAssetResolutionsPopup.assetItem);";
  304. item[6] = "-";
  305. item[7] = "Edit Asset properties" TAB "" TAB "";
  306. };
  307. }
  308. //
  309. // Import Asset Actions
  310. //
  311. if( !isObject( ImportAssetMaterialMaps ) )
  312. {
  313. %this.ImportAssetActions = new PopupMenu( ImportAssetMaterialMaps )
  314. {
  315. superClass = "MenuBuilder";
  316. class = "EditorWorldMenu";
  317. item[0] = "Add Color Map" TAB "" TAB "ImportAssetWindow.addMaterialMap(\"Color\");";
  318. item[1] = "Add Normal Map" TAB "" TAB "ImportAssetWindow.addMaterialMap(\"Normal\");";
  319. item[2] = "Add Composite Map" TAB "" TAB "ImportAssetWindow.addMaterialMap(\"Composite\");";
  320. item[3] = "Add Metalness Map" TAB "" TAB "ImportAssetWindow.addMaterialMap(\"Metalness\");";
  321. item[4] = "Add AO Map" TAB "" TAB "ImportAssetWindow.addMaterialMap(\"AO\");";
  322. item[5] = "Add Roughness Map" TAB "" TAB "ImportAssetWindow.addMaterialMap(\"Roughness\");";
  323. item[6] = "Add Glow Map" TAB "" TAB "ImportAssetWindow.addMaterialMap(\"Glow\");";
  324. Item[7] = "-";
  325. Item[8] = "Add Existing Image Asset" TAB "" TAB "ImportAssetWindow.addExistingImageAsset();";
  326. };
  327. }
  328. if( !isObject( ImportAssetActions ) )
  329. {
  330. %this.ImportAssetActions = new PopupMenu( ImportAssetActions )
  331. {
  332. superClass = "MenuBuilder";
  333. class = "EditorWorldMenu";
  334. item[0] = "Add New Asset" TAB "" TAB "ImportAssetWindow.addNewImportingAsset();";
  335. item[1] = "Import Existing File as Asset" TAB "" TAB "ImportAssetWindow.importExistingFile();";
  336. item[2] = "-";
  337. item[3] = "Add Reference to Existing Asset" TAB "" TAB "ImportAssetWindow.addRefExistingAsset();";
  338. item[4] = "-";
  339. item[5] = "Remove asset" TAB "" TAB "ImportAssetWindow.removeImportingAsset();";
  340. };
  341. }
  342. if( !isObject( AddNewToolPopup ) )
  343. {
  344. new PopupMenu( AddNewToolPopup )
  345. {
  346. superClass = "MenuBuilder";
  347. class = "EditorWorldMenu";
  348. isPopup = true;
  349. item[ 0 ] = "Create New Editor Tool" TAB "" TAB "AssetBrowser.createNewEditorTool(AddNewToolPopup.targetFolder);";
  350. };
  351. AddNewModulePopup.enableItem(1, false);
  352. }
  353. if( !isObject( EditCollectionSets ) )
  354. {
  355. new PopupMenu( EditCollectionSets )
  356. {
  357. superClass = "MenuBuilder";
  358. class = "EditorWorldMenu";
  359. //isPopup = true;
  360. item[ 0 ] = "Delete Collection Set" TAB "" TAB "AssetBrowser.deleteCollectionSet();";
  361. };
  362. }
  363. }
  364. function AddNewScriptAssetPopupMenu::onSelectItem(%this, %id, %text)
  365. {
  366. return true;
  367. }
  368. function AddNewScriptAssetPopupMenu::setupDefaultState(%this)
  369. {
  370. // Setup camera speed gui's. Both menu and editorgui
  371. %this.setupGuiControls();
  372. Parent::setupDefaultState(%this);
  373. }
  374. function AddNewScriptAssetPopupMenu::setupGuiControls(%this)
  375. {
  376. }