mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-18 14:13:48 +00:00
Implemented script dependency handling Added test-case of script dependency handling in ExampleModule Cleanup of redundant getSceneCount calls Properly get scene count in callGamemodeFunction Remove unneeded TODO comment in shaders Converted onMissionEnded gamemode func call to use callGameModeFunction function Convert ExampleGameMode to be container-object based, and updated callGamemodeFunction to handle that Correct import settings typoe so image suffixes are read correctly Largely fixed companion image scanning when importing images and streamlined image-material interop during import preprocessing Added handling for reading in PBR maps and creating a composite image + asset Added WIP of Cubemap asset, and editing integration with a standalone cubemap editor Added ability to create new Cubemap asset in Asset Browser
281 lines
12 KiB
C#
281 lines
12 KiB
C#
function AssetBrowser::buildPopupMenus(%this)
|
|
{
|
|
if( !isObject( AddNewModulePopup ) )
|
|
{
|
|
new PopupMenu( AddNewModulePopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
isPopup = true;
|
|
|
|
item[ 0 ] = "Create New Module" TAB "" TAB "AssetBrowser.CreateNewModule();";
|
|
item[ 1 ] = "Refresh Module Dependencies" TAB "" TAB "AssetBrowser.RefreshModuleDependencies();";
|
|
};
|
|
}
|
|
|
|
if( !isObject( EditAssetPopup ) )
|
|
{
|
|
new PopupMenu( EditAssetPopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
//isPopup = true;
|
|
|
|
item[ 0 ] = "Edit Asset" TAB "" TAB "AssetBrowser.editAsset();";
|
|
item[ 1 ] = "Rename Asset" TAB "" TAB "AssetBrowser.renameAsset();";
|
|
item[ 2 ] = "Refresh Asset" TAB "" TAB "AssetBrowser.refreshAsset();";
|
|
item[ 3 ] = "Asset Properties" TAB "" TAB "AssetBrowser.editAssetInfo();";
|
|
item[ 4 ] = "-";
|
|
Item[ 5 ] = "Duplicate Asset" TAB "" TAB "AssetBrowser.duplicateAsset();";
|
|
item[ 6 ] = "-";
|
|
item[ 7 ] = "Re-Import Asset" TAB "" TAB "AssetBrowser.reImportAsset();";
|
|
item[ 8 ] = "-";
|
|
item[ 9 ] = "Delete Asset" TAB "" TAB "AssetBrowser.deleteAsset();";
|
|
|
|
jumpFileName = "";
|
|
jumpLineNumber = "";
|
|
};
|
|
}
|
|
|
|
if( !isObject( EditLevelAssetPopup ) )
|
|
{
|
|
new PopupMenu( EditLevelAssetPopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
//isPopup = true;
|
|
|
|
item[ 0 ] = "Edit Level" TAB "" TAB "AssetBrowser.editAsset();";
|
|
item[ 1 ] = "Append as Sublevel" TAB "" TAB "AssetBrowser.appendSublevel();";
|
|
item[ 2 ] = "Rename Asset" TAB "" TAB "AssetBrowser.renameAsset();";
|
|
item[ 3 ] = "Refresh Asset" TAB "" TAB "AssetBrowser.refreshAsset();";
|
|
item[ 4 ] = "Asset Properties" TAB "" TAB "AssetBrowser.editAssetInfo();";
|
|
item[ 5 ] = "-";
|
|
Item[ 6 ] = "Duplicate Asset" TAB "" TAB "AssetBrowser.duplicateAsset();";
|
|
item[ 7 ] = "-";
|
|
item[ 8 ] = "Re-Import Asset" TAB "" TAB "AssetBrowser.reImportAsset();";
|
|
item[ 9 ] = "-";
|
|
item[ 10 ] = "Delete Asset" TAB "" TAB "AssetBrowser.deleteAsset();";
|
|
|
|
jumpFileName = "";
|
|
jumpLineNumber = "";
|
|
};
|
|
}
|
|
|
|
if( !isObject( AddNewComponentAssetPopup ) )
|
|
{
|
|
new PopupMenu( AddNewComponentAssetPopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
//isPopup = true;
|
|
|
|
//item[ 0 ] = "Create Component" TAB "" TAB "Canvas.pushDialog(AssetBrowser_newComponentAsset); AssetBrowser_newComponentAsset-->NewComponentPackageList.setText(AssetBrowser.selectedModule);";
|
|
item[ 0 ] = "Component" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ComponentAsset\", AssetBrowser.selectedModule);";
|
|
|
|
//list other common component types here to shortcut the creation process
|
|
};
|
|
}
|
|
|
|
if( !isObject( AddNewScriptAssetPopup ) )
|
|
{
|
|
%this.AddNewScriptAssetPopup = new PopupMenu( AddNewScriptAssetPopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
//isPopup = true;
|
|
|
|
item[ 0 ] = "Create Component" TAB AddNewComponentAssetPopup;
|
|
item[ 1 ] = "Create Script" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ScriptAsset\", AssetBrowser.selectedModule);";
|
|
item[ 2 ] = "Create State Machine" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"StateMachineAsset\", AssetBrowser.selectedModule);";
|
|
//item[ 3 ] = "-";
|
|
//item[ 3 ] = "Create Game Object" TAB "" TAB "AssetBrowser.createNewGameObjectAsset(\"NewGameObject\", AssetBrowser.selectedModule);";
|
|
};
|
|
//%this.AddNewScriptAssetPopup.insertSubMenu(0, "Create Component", AddNewComponentAssetPopup);
|
|
}
|
|
|
|
if( !isObject( AddNewArtAssetPopup ) )
|
|
{
|
|
%this.AddNewArtAssetPopup = new PopupMenu( AddNewArtAssetPopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
//isPopup = true;
|
|
|
|
item[ 0 ] = "Create Material" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"MaterialAsset\", AssetBrowser.selectedModule);";//"createNewMaterialAsset(\"NewMaterial\", AssetBrowser.selectedModule);";
|
|
item[ 1 ] = "Create Image" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ImageAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewImageAsset(\"NewImage\", AssetBrowser.selectedModule);";
|
|
item[ 2 ] = "-";
|
|
item[ 3 ] = "Create Shape" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"Shape\", AssetBrowser.selectedModule);";
|
|
item[ 4 ] = "Create Shape Animation" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ShapeAnimationAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewShapeAnimationAsset(\"NewShapeAnimation\", AssetBrowser.selectedModule);";
|
|
item[ 5 ] = "-";
|
|
item[ 6 ] = "Create GUI" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"GUIAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewGUIAsset(\"NewGUI\", AssetBrowser.selectedModule);";
|
|
item[ 7 ] = "-";
|
|
item[ 8 ] = "Create Post Effect" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"PostEffectAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewPostEffectAsset(\"NewPostEffect\", AssetBrowser.selectedModule);";
|
|
item[ 9 ] = "-";
|
|
item[ 10 ] = "Create Sound" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"SoundAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewSoundAsset(\"NewSound\", AssetBrowser.selectedModule);";
|
|
item[ 11 ] = "-";
|
|
item[ 12 ] = "Create Particle Effect" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"ParticleEffectAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewParticleEffectAsset(\"NewParticleEffect\", AssetBrowser.selectedModule);";
|
|
item[ 13 ] = "-";
|
|
item[ 14 ] = "Create Cubemap" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CubemapAsset\", AssetBrowser.selectedModule);";
|
|
};
|
|
}
|
|
|
|
if( !isObject( AddNewCppAssetPopup ) )
|
|
{
|
|
%this.AddNewCppAssetPopup = new PopupMenu( AddNewCppAssetPopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
//isPopup = true;
|
|
|
|
/*item[ 0 ] = "Create Static Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppStaticClassAsset\", AssetBrowser.selectedModule);";
|
|
item[ 1 ] = "Create Regular Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppRegularClassAsset\", AssetBrowser.selectedModule);";
|
|
item[ 2 ] = "Create GameObject Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppGameObjectAsset\", AssetBrowser.selectedModule);";
|
|
item[ 3 ] = "Create Component Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppComponentAsset\", AssetBrowser.selectedModule);";
|
|
item[ 4 ] = "Create Script Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppScriptClass\", AssetBrowser.selectedModule);";*/
|
|
|
|
item[ 0 ] = "Create C++ Class" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"CppAsset\", AssetBrowser.selectedModule);";
|
|
};
|
|
//%this.AddNewScriptAssetPopup.insertSubMenu(0, "Create Component", AddNewComponentAssetPopup);
|
|
}
|
|
|
|
if( !isObject( AddNewAssetPopup ) )
|
|
{
|
|
%this.AddNewAssetPopup = new PopupMenu( AddNewAssetPopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
|
|
item[0] = "Create Code Asset" TAB AddNewScriptAssetPopup;
|
|
item[1] = "-";
|
|
item[2] = "Create Art Asset" TAB AddNewArtAssetPopup;
|
|
item[3] = "-";
|
|
item[4] = "Create Level" TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"LevelAsset\", AssetBrowser.selectedModule);";//"AssetBrowser.createNewLevelAsset(\"NewLevel\", AssetBrowser.selectedModule);";
|
|
item[5] = "-";
|
|
item[6] = "Create C++ Asset" TAB AddNewCppAssetPopup;
|
|
|
|
};
|
|
}
|
|
|
|
if( !isObject( EditModulePopup ) )
|
|
{
|
|
new PopupMenu( EditModulePopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
//isPopup = true;
|
|
|
|
item[ 0 ] = "Create New Asset" TAB AddNewAssetPopup;
|
|
item[ 1 ] = "Reload Module" TAB "" TAB "AssetBrowser.reloadModule();";
|
|
Item[ 2 ] = "-";
|
|
Item[ 3 ] = "Edit Module" TAB "" TAB "AssetBrowser.editModuleInfo();";
|
|
Item[ 4 ] = "-";
|
|
Item[ 5 ] = "Duplicate Module" TAB "" TAB "AssetBrowser.copyModule();";
|
|
Item[ 6 ] = "-";
|
|
Item[ 7 ] = "Delete Module" TAB "" TAB "AssetBrowser.deleteModule();";
|
|
};
|
|
}
|
|
|
|
//Some assets are not yet ready/implemented, so disable their creation here
|
|
AddNewArtAssetPopup.enableItem(3, false); //shape
|
|
AddNewArtAssetPopup.enableItem(4, false); //shape animation
|
|
AddNewArtAssetPopup.enableItem(10, false); //sound asset
|
|
AddNewArtAssetPopup.enableItem(12, false); //particle effect
|
|
|
|
if( !isObject( EditAssetCategoryPopup ) )
|
|
{
|
|
new PopupMenu( EditAssetCategoryPopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
//isPopup = true;
|
|
|
|
item[ 0 ] = "Toggle Autoloading of Script Assets" TAB "" TAB "AssetBrowser.toggleAutoloadAsset(\"Script\");";
|
|
};
|
|
}
|
|
|
|
//Browser visibility menu
|
|
if( !isObject( BrowserVisibilityPopup ) )
|
|
{
|
|
new PopupMenu( BrowserVisibilityPopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
//isPopup = true;
|
|
|
|
item[ 0 ] = "Toggle Show Core Modules" TAB "" TAB "AssetBrowser.viewCoreModulesFilter();";
|
|
item[ 1 ] = "Toggle Only Show Modules with Assets" TAB "" TAB "AssetBrowser.viewPopulatedModulesFilter();";
|
|
Item[ 2 ] = "-";
|
|
item[ 3 ] = "Show Assets as list" TAB "" TAB "AssetBrowser.viewListFilter();";
|
|
Item[ 4 ] = "Show Assets with tags" TAB "" TAB "AssetBrowser.viewTagsFilter();";
|
|
};
|
|
}
|
|
|
|
//Import Legacy menus
|
|
if( !isObject( ImportAssetsPopup ) )
|
|
{
|
|
new PopupMenu( ImportAssetsPopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
|
|
item[ 0 ] = "Import Legacy Game" TAB "" TAB "AssetBrowser.importLegacyGame();";
|
|
Item[ 1 ] = "-";
|
|
item[ 2 ] = "Import new assets" TAB "" TAB "AssetBrowser.importNewAssetFile();";
|
|
};
|
|
}
|
|
|
|
if( !isObject( EditGameObjectAssetPopup ) )
|
|
{
|
|
new PopupMenu( EditGameObjectAssetPopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
//isPopup = true;
|
|
|
|
item[ 0 ] = "Open GameObject Editor" TAB "" TAB "echo(\"Not yet implemented.\");";
|
|
item[ 1 ] = "Edit GameObject Script" TAB "" TAB "AssetBrowser.editGameObjectAssetScript(AssetDatabase.acquireAsset(EditGameObjectAssetPopup.assetId));";
|
|
item[ 2 ] = "-";
|
|
item[ 3 ] = "Apply Instance to GameObject" TAB "" TAB "AssetBrowser.applyInstanceToGameObject(AssetDatabase.acquireAsset(EditGameObjectAssetPopup.assetId));";
|
|
item[ 4 ] = "Reset Instance to GameObject" TAB "" TAB "echo(\"Not yet implemented.\");";
|
|
item[ 5 ] = "-";
|
|
item[ 6 ] = "Create Child GameObject" TAB "" TAB "echo(\"Not yet implemented.\");";
|
|
};
|
|
}
|
|
|
|
//Asset Import Resolution menus
|
|
if( !isObject( ImportAssetResolutionsPopup ) )
|
|
{
|
|
%this.ImportAssetResolutionsPopup = new PopupMenu( ImportAssetResolutionsPopup )
|
|
{
|
|
superClass = "MenuBuilder";
|
|
class = "EditorWorldMenu";
|
|
|
|
item[0] = "Use original Asset for duplicates" TAB "" TAB "";
|
|
item[1] = "Override duplicate with new Asset" TAB "" TAB "";
|
|
item[2] = "-";
|
|
item[3] = "Rename Asset" TAB "" TAB "";
|
|
item[4] = "-";
|
|
item[5] = "Find missing file" TAB "" TAB "ImportAssetWindow.findMissingFile(ImportAssetResolutionsPopup.assetItem);";
|
|
item[6] = "-";
|
|
item[7] = "Edit Asset properties" TAB "" TAB "";
|
|
|
|
};
|
|
}
|
|
}
|
|
|
|
function AddNewScriptAssetPopupMenu::onSelectItem(%this, %id, %text)
|
|
{
|
|
return true;
|
|
}
|
|
function AddNewScriptAssetPopupMenu::setupDefaultState(%this)
|
|
{
|
|
// Setup camera speed gui's. Both menu and editorgui
|
|
%this.setupGuiControls();
|
|
|
|
Parent::setupDefaultState(%this);
|
|
}
|
|
|
|
function AddNewScriptAssetPopupMenu::setupGuiControls(%this)
|
|
{
|
|
}
|