Torque3D/Templates/BaseGame/game/tools/assetBrowser/main.cs
Areloch fa9f920755 WIP of updating terrain editor to work with assets
Fix minor UI issues for asset browser
included folder 'asset type' script
2019-11-06 00:23:07 -06:00

121 lines
No EOL
4.7 KiB
C#

//-----------------------------------------------------------------------------
// Copyright (c) 2012 GarageGames, LLC
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to
// deal in the Software without restriction, including without limitation the
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
// IN THE SOFTWARE.
//-----------------------------------------------------------------------------
if( !isObject( ToolsGuiDefaultNonModalProfile ) )
new GuiControlProfile (ToolsGuiDefaultNonModalProfile : ToolsGuiDefaultProfile)
{
opaque = false;
modal = false;
};
function initializeAssetBrowser()
{
echo(" % - Initializing Asset Browser");
$AssetBrowser::importConfigsFile = "tools/assetBrowser/assetImportConfigs.xml";
$AssetBrowser::currentImportConfig = "";
if(!isObject(AssetFilterTypeList))
{
new ArrayObject(AssetFilterTypeList);
AssetFilterTypeList.add("Component");
AssetFilterTypeList.add("Cpp");
AssetFilterTypeList.add("Cubemap");
AssetFilterTypeList.add("GameObjects");
AssetFilterTypeList.add("GUIs");
AssetFilterTypeList.add("Images");
AssetFilterTypeList.add("Levels");
AssetFilterTypeList.add("Materials");
AssetFilterTypeList.add("Particles");
AssetFilterTypeList.add("PostFXs");
AssetFilterTypeList.add("Scripts");
AssetFilterTypeList.add("Shapes");
AssetFilterTypeList.add("ShapeAnimations");
AssetFilterTypeList.add("Sounds");
AssetFilterTypeList.add("StateMachines");
AssetFilterTypeList.add("Terrain");
AssetFilterTypeList.add("TerrainMaterials");
}
exec("./guis/assetBrowser.gui");
exec("./guis/addModuleWindow.gui");
exec("./guis/gameObjectCreator.gui");
exec("./guis/newAsset.gui");
exec("./guis/newComponentAsset.gui");
exec("./guis/editAsset.gui");
exec("./guis/assetImport.gui");
exec("./guis/selectModule.gui");
exec("./guis/editModule.gui");
exec("./guis/importTemplateModules.gui");
exec("./scripts/assetBrowser.cs");
exec("./scripts/popupMenus.cs");
exec("./scripts/addModuleWindow.cs");
exec("./scripts/assetImport.cs");
exec("./scripts/assetImportConfig.cs");
exec("./scripts/gameObjectCreator.cs");
exec("./scripts/newAsset.cs");
exec("./scripts/editAsset.cs");
exec("./scripts/editModule.cs");
exec("./scripts/selectModule.cs");
//Processing for the different asset types
exec("./scripts/assetTypes/component.cs");
exec("./scripts/assetTypes/cpp.cs");
exec("./scripts/assetTypes/gameObject.cs");
exec("./scripts/assetTypes/gui.cs");
exec("./scripts/assetTypes/image.cs");
exec("./scripts/assetTypes/level.cs");
exec("./scripts/assetTypes/material.cs");
exec("./scripts/assetTypes/postFX.cs");
exec("./scripts/assetTypes/script.cs");
exec("./scripts/assetTypes/shape.cs");
exec("./scripts/assetTypes/shapeAnimation.cs");
exec("./scripts/assetTypes/sound.cs");
exec("./scripts/assetTypes/stateMachine.cs");
exec("./scripts/assetTypes/cubemap.cs");
exec("./scripts/assetTypes/folder.cs");
exec("./scripts/assetTypes/terrain.cs");
exec("./scripts/assetTypes/terrainMaterial.cs");
exec("./scripts/fieldTypes/fieldTypes.cs");
exec("./scripts/fieldTypes/listField.cs");
exec("./scripts/fieldTypes/moduleDependencies.cs");
exec("./scripts/fieldTypes/assetDependencies.cs");
new ScriptObject( AssetBrowserPlugin )
{
superClass = "EditorPlugin";
};
Input::GetEventManager().subscribe( AssetBrowser, "BeginDropFiles" );
Input::GetEventManager().subscribe( AssetBrowser, "DropFile" );
Input::GetEventManager().subscribe( AssetBrowser, "EndDropFiles" );
AssetBrowser.buildPopupMenus();
}
function AssetBrowserPlugin::onWorldEditorStartup( %this )
{
// Add ourselves to the toolbar.
AssetBrowser.addToolbarButton();
}