popupMenus.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  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 ] = "Refresh 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 ] = "Re-Import Asset" TAB "" TAB "AssetBrowser.reImportAsset();";
  30. item[ 8 ] = "-";
  31. item[ 9 ] = "Delete Asset" TAB "" TAB "AssetBrowser.deleteAsset();";
  32. jumpFileName = "";
  33. jumpLineNumber = "";
  34. };
  35. }
  36. if( !isObject( EditLevelAssetPopup ) )
  37. {
  38. new PopupMenu( EditLevelAssetPopup )
  39. {
  40. superClass = "MenuBuilder";
  41. class = "EditorWorldMenu";
  42. //isPopup = true;
  43. item[ 0 ] = "Edit Level" TAB "" TAB "AssetBrowser.editAsset();";
  44. item[ 1 ] = "Append as Sublevel" TAB "" TAB "AssetBrowser.appendSublevel();";
  45. item[ 2 ] = "Rename Asset" TAB "" TAB "AssetBrowser.renameAsset();";
  46. item[ 3 ] = "Refresh Asset" TAB "" TAB "AssetBrowser.refreshAsset();";
  47. item[ 4 ] = "Asset Properties" TAB "" TAB "AssetBrowser.editAssetInfo();";
  48. item[ 5 ] = "-";
  49. Item[ 6 ] = "Duplicate Asset" TAB "" TAB "AssetBrowser.duplicateAsset();";
  50. item[ 7 ] = "-";
  51. //item[ 8 ] = "Re-Import Asset" TAB "" TAB "AssetBrowser.reImportAsset();";
  52. //item[ 9 ] = "-";
  53. item[ 8 ] = "Delete Asset" TAB "" TAB "AssetBrowser.deleteAsset();";
  54. jumpFileName = "";
  55. jumpLineNumber = "";
  56. };
  57. }
  58. if( !isObject( AddNewComponentAssetPopup ) )
  59. {
  60. new PopupMenu( AddNewComponentAssetPopup )
  61. {
  62. superClass = "MenuBuilder";
  63. class = "EditorWorldMenu";
  64. //isPopup = true;
  65. //item[ 0 ] = "Create Component" TAB "" TAB "Canvas.pushDialog(AssetBrowser_newComponentAsset); AssetBrowser_newComponentAsset-->NewComponentPackageList.setText(AssetBrowser.selectedModule);";
  66. item[ 0 ] = "Component" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ComponentAsset\", AssetBrowser.selectedModule);";
  67. //list other common component types here to shortcut the creation process
  68. };
  69. }
  70. if( !isObject( AddNewScriptAssetPopup ) )
  71. {
  72. %this.AddNewScriptAssetPopup = new PopupMenu( AddNewScriptAssetPopup )
  73. {
  74. superClass = "MenuBuilder";
  75. class = "EditorWorldMenu";
  76. //isPopup = true;
  77. item[ 0 ] = "Create Component" TAB AddNewComponentAssetPopup;
  78. item[ 1 ] = "Create Script" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ScriptAsset\", AssetBrowser.selectedModule);";
  79. item[ 2 ] = "Create State Machine" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"StateMachineAsset\", AssetBrowser.selectedModule);";
  80. //item[ 3 ] = "-";
  81. //item[ 3 ] = "Create Game Object" TAB "" TAB "AssetBrowser.createNewGameObjectAsset(\"NewGameObject\", AssetBrowser.selectedModule);";
  82. };
  83. //%this.AddNewScriptAssetPopup.insertSubMenu(0, "Create Component", AddNewComponentAssetPopup);
  84. }
  85. if( !isObject( AddNewArtAssetPopup ) )
  86. {
  87. %this.AddNewArtAssetPopup = new PopupMenu( AddNewArtAssetPopup )
  88. {
  89. superClass = "MenuBuilder";
  90. class = "EditorWorldMenu";
  91. //isPopup = true;
  92. item[ 0 ] = "Material" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"MaterialAsset\", AssetBrowser.selectedModule);";//"createNewMaterialAsset(\"NewMaterial\", AssetBrowser.selectedModule);";
  93. item[ 1 ] = "Terrain Material" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"TerrainMaterialAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewImageAsset(\"NewImage\", AssetBrowser.selectedModule);";
  94. item[ 2 ] = "Image" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ImageAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewImageAsset(\"NewImage\", AssetBrowser.selectedModule);";
  95. item[ 3 ] = "-";
  96. item[ 4 ] = "Terrain Data" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"TerrainAsset\", AssetBrowser.selectedModule);";
  97. item[ 5 ] = "-";
  98. item[ 6 ] = "Shape" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"Shape\", AssetBrowser.selectedModule);";
  99. item[ 7 ] = "Shape Animation" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ShapeAnimationAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewShapeAnimationAsset(\"NewShapeAnimation\", AssetBrowser.selectedModule);";
  100. item[ 8 ] = "-";
  101. item[ 9 ] = "GUI" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"GUIAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewGUIAsset(\"NewGUI\", AssetBrowser.selectedModule);";
  102. item[ 10 ] = "-";
  103. item[ 11 ] = "Post Effect" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"PostEffectAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewPostEffectAsset(\"NewPostEffect\", AssetBrowser.selectedModule);";
  104. item[ 12 ] = "-";
  105. item[ 13 ] = "Sound" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"SoundAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewSoundAsset(\"NewSound\", AssetBrowser.selectedModule);";
  106. item[ 14 ] = "-";
  107. item[ 15 ] = "Particle Effect" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ParticleEffectAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewParticleEffectAsset(\"NewParticleEffect\", AssetBrowser.selectedModule);";
  108. item[ 16 ] = "-";
  109. item[ 17 ] = "Cubemap" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CubemapAsset\", AssetBrowser.selectedModule);";
  110. };
  111. }
  112. if( !isObject( AddNewCppAssetPopup ) )
  113. {
  114. %this.AddNewCppAssetPopup = new PopupMenu( AddNewCppAssetPopup )
  115. {
  116. superClass = "MenuBuilder";
  117. class = "EditorWorldMenu";
  118. //isPopup = true;
  119. /*item[ 0 ] = "Create Static Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppStaticClassAsset\", AssetBrowser.selectedModule);";
  120. item[ 1 ] = "Create Regular Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppRegularClassAsset\", AssetBrowser.selectedModule);";
  121. item[ 2 ] = "Create GameObject Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppGameObjectAsset\", AssetBrowser.selectedModule);";
  122. item[ 3 ] = "Create Component Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppComponentAsset\", AssetBrowser.selectedModule);";
  123. item[ 4 ] = "Create Script Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppScriptClass\", AssetBrowser.selectedModule);";*/
  124. item[ 0 ] = "C++ Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppAsset\", AssetBrowser.selectedModule);";
  125. };
  126. //%this.AddNewScriptAssetPopup.insertSubMenu(0, "Create Component", AddNewComponentAssetPopup);
  127. }
  128. if( !isObject( AddNewAssetPopup ) )
  129. {
  130. %this.AddNewAssetPopup = new PopupMenu( AddNewAssetPopup )
  131. {
  132. superClass = "MenuBuilder";
  133. class = "EditorWorldMenu";
  134. item[0] = "Folder" TAB "" TAB "AssetBrowser.CreateNewFolder();";
  135. item[1] = "-";
  136. item[2] = "Code Asset" TAB AddNewScriptAssetPopup;
  137. item[3] = "-";
  138. item[4] = "Art Asset" TAB AddNewArtAssetPopup;
  139. item[5] = "-";
  140. item[6] = "Level" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"LevelAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewLevelAsset(\"NewLevel\", AssetBrowser.selectedModule);";
  141. item[7] = "-";
  142. item[8] = "C++ Asset" TAB AddNewCppAssetPopup;
  143. item[9] = "-";
  144. item[10] = "New Module" TAB "" TAB "AssetBrowser.CreateNewModule();";
  145. };
  146. }
  147. if( !isObject( EditModulePopup ) )
  148. {
  149. new PopupMenu( EditModulePopup )
  150. {
  151. superClass = "MenuBuilder";
  152. class = "EditorWorldMenu";
  153. //isPopup = true;
  154. item[ 0 ] = "New Asset" TAB AddNewAssetPopup;
  155. item[ 1 ] = "Reload Module" TAB "" TAB "AssetBrowser.reloadModule();";
  156. Item[ 2 ] = "-";
  157. Item[ 3 ] = "Edit Module" TAB "" TAB "AssetBrowser.editModuleInfo();";
  158. Item[ 4 ] = "-";
  159. Item[ 5 ] = "Duplicate Module" TAB "" TAB "AssetBrowser.copyModule();";
  160. Item[ 6 ] = "-";
  161. Item[ 7 ] = "Delete Module" TAB "" TAB "AssetBrowser.deleteModule();";
  162. };
  163. }
  164. //Some assets are not yet ready/implemented, so disable their creation here
  165. AddNewArtAssetPopup.enableItem(6, false); //shape
  166. AddNewArtAssetPopup.enableItem(7, false); //shape animation
  167. AddNewArtAssetPopup.enableItem(13, false); //sound asset
  168. AddNewArtAssetPopup.enableItem(15, false); //particle effect
  169. if( !isObject( EditFolderPopup ) )
  170. {
  171. new PopupMenu( EditFolderPopup )
  172. {
  173. superClass = "MenuBuilder";
  174. class = "EditorWorldMenu";
  175. //isPopup = true;
  176. Item[ 0 ] = "Create" TAB AddNewAssetPopup;
  177. item[ 1 ] = "-";
  178. item[ 2 ] = "Rename Folder" TAB "" TAB "AssetBrowser.renameAsset();";
  179. Item[ 3 ] = "Duplicate Folder" TAB "" TAB "AssetBrowser.duplicateAsset();";
  180. item[ 4 ] = "-";
  181. item[ 5 ] = "Delete Folder" TAB "" TAB "AssetBrowser.deleteAsset();";
  182. };
  183. }
  184. if( !isObject( EditAssetCategoryPopup ) )
  185. {
  186. new PopupMenu( EditAssetCategoryPopup )
  187. {
  188. superClass = "MenuBuilder";
  189. class = "EditorWorldMenu";
  190. //isPopup = true;
  191. item[ 0 ] = "Toggle Autoloading of Script Assets" TAB "" TAB "AssetBrowser.toggleAutoloadAsset(\"Script\");";
  192. };
  193. }
  194. //Asset Preview size presets
  195. if( !isObject( AssetPreviewSizePopup ) )
  196. {
  197. new PopupMenu( AssetPreviewSizePopup )
  198. {
  199. superClass = "MenuBuilder";
  200. class = "EditorWorldMenu";
  201. item[ 0 ] = "Small" TAB "" TAB "AssetBrowser.setPreviewSize(\"Small\");";
  202. item[ 1 ] = "Medium" TAB "" TAB "AssetBrowser.setPreviewSize(\"Medium\");";
  203. Item[ 2 ] = "Large" TAB "" TAB "AssetBrowser.setPreviewSize(\"Large\");";
  204. };
  205. AssetPreviewSizePopup.checkItem(0, true);
  206. }
  207. if( !isObject( AssetTypeListPopup ) )
  208. {
  209. new PopupMenu( AssetTypeListPopup )
  210. {
  211. superClass = "MenuBuilder";
  212. class = "EditorWorldMenu";
  213. //isPopup = true;
  214. radioSelection = false;
  215. };
  216. AssetTypeListPopup.addItem(0, AssetFilterTypeList.getKey(0) TAB "" TAB "AssetBrowser.toggleAssetTypeFilter(" @ 0 @ ");");
  217. AssetTypeListPopup.addItem(1, "-");
  218. for(%i=1; %i < AssetFilterTypeList.Count(); %i++)
  219. {
  220. %assetTypeName = AssetFilterTypeList.getKey(%i);
  221. AssetTypeListPopup.addItem(%i+1, %assetTypeName TAB "" TAB "AssetBrowser.toggleAssetTypeFilter(" @ %i + 1 @ ");");
  222. }
  223. }
  224. AssetBrowser.toggleAssetTypeFilter(0);
  225. //Browser visibility menu
  226. if( !isObject( BrowserVisibilityPopup ) )
  227. {
  228. new PopupMenu( BrowserVisibilityPopup )
  229. {
  230. superClass = "MenuBuilder";
  231. class = "EditorWorldMenu";
  232. //isPopup = true;
  233. item[ 0 ] = "Toggle Show Core Modules" TAB "" TAB "AssetBrowser.viewCoreModulesFilter();";
  234. item[ 1 ] = "Toggle Show Tools Modules" TAB "" TAB "AssetBrowser.viewToolsModulesFilter();";
  235. item[ 2 ] = "Toggle Only Show Modules with Assets" TAB "" TAB "AssetBrowser.viewPopulatedModulesFilter();";
  236. Item[ 3 ] = "-";
  237. item[ 4 ] = "Show Folders" TAB "" TAB "AssetBrowser.toggleShowingFolders();";
  238. item[ 5 ] = "Show Empty Folders" TAB "" TAB "AssetBrowser.toggleShowingEmptyFolders();";
  239. item[ 6 ] = "-";
  240. item[ 7 ] = "Filter by Asset Type" TAB AssetTypeListPopup;
  241. item[ 8 ] = "-";
  242. item[ 9 ] = "Enable Auto-refresh" TAB "" TAB "AssetBrowser.toggleAutorefresh();";
  243. Item[ 10 ] = "-";
  244. Item[ 11 ] = "Asset Preview Size" TAB AssetPreviewSizePopup;
  245. };
  246. BrowserVisibilityPopup.enableItem(5, false);
  247. BrowserVisibilityPopup.enableItem(9, false);
  248. }
  249. //
  250. //Import Legacy menus
  251. if( !isObject( ImportAssetsPopup ) )
  252. {
  253. new PopupMenu( ImportAssetsPopup )
  254. {
  255. superClass = "MenuBuilder";
  256. class = "EditorWorldMenu";
  257. item[ 0 ] = "Import Legacy Game" TAB "" TAB "AssetBrowser.importLegacyGame();";
  258. Item[ 1 ] = "-";
  259. item[ 2 ] = "Import new assets" TAB "" TAB "AssetBrowser.importNewAssetFile();";
  260. };
  261. }
  262. if( !isObject( EditGameObjectAssetPopup ) )
  263. {
  264. new PopupMenu( EditGameObjectAssetPopup )
  265. {
  266. superClass = "MenuBuilder";
  267. class = "EditorWorldMenu";
  268. //isPopup = true;
  269. item[ 0 ] = "Open GameObject Editor" TAB "" TAB "echo(\"Not yet implemented.\");";
  270. item[ 1 ] = "Edit GameObject Script" TAB "" TAB "AssetBrowser.editGameObjectAssetScript(AssetDatabase.acquireAsset(EditGameObjectAssetPopup.assetId));";
  271. item[ 2 ] = "-";
  272. item[ 3 ] = "Apply Instance to GameObject" TAB "" TAB "AssetBrowser.applyInstanceToGameObject(AssetDatabase.acquireAsset(EditGameObjectAssetPopup.assetId));";
  273. item[ 4 ] = "Reset Instance to GameObject" TAB "" TAB "echo(\"Not yet implemented.\");";
  274. item[ 5 ] = "-";
  275. item[ 6 ] = "Create Child GameObject" TAB "" TAB "echo(\"Not yet implemented.\");";
  276. };
  277. }
  278. //Asset Import Resolution menus
  279. if( !isObject( ImportAssetResolutionsPopup ) )
  280. {
  281. %this.ImportAssetResolutionsPopup = new PopupMenu( ImportAssetResolutionsPopup )
  282. {
  283. superClass = "MenuBuilder";
  284. class = "EditorWorldMenu";
  285. item[0] = "Use original Asset for duplicates" TAB "" TAB "";
  286. item[1] = "Override duplicate with new Asset" TAB "" TAB "";
  287. item[2] = "-";
  288. item[3] = "Rename Asset" TAB "" TAB "";
  289. item[4] = "-";
  290. item[5] = "Find missing file" TAB "" TAB "ImportAssetWindow.findMissingFile(ImportAssetResolutionsPopup.assetItem);";
  291. item[6] = "-";
  292. item[7] = "Edit Asset properties" TAB "" TAB "";
  293. };
  294. }
  295. }
  296. function AddNewScriptAssetPopupMenu::onSelectItem(%this, %id, %text)
  297. {
  298. return true;
  299. }
  300. function AddNewScriptAssetPopupMenu::setupDefaultState(%this)
  301. {
  302. // Setup camera speed gui's. Both menu and editorgui
  303. %this.setupGuiControls();
  304. Parent::setupDefaultState(%this);
  305. }
  306. function AddNewScriptAssetPopupMenu::setupGuiControls(%this)
  307. {
  308. }