Change Asset Browser logic to utilize folder heirarchy instead of strict Asset Type filtration

Added navigation history to AB, as well as ability to navigate via forward and backward buttons and breadcrumb buttons
Added folder 'asset type', allowing you to create, rename, delete and move folders via the asset browser for better organization
Adjusted various behaviors to work with the address-driven navigation/organization of the AB
Expanded visibility options for the AB and integrated them into editor settings so they are retained
Added Search field for searching the folder structure, in addition to the existing preview tiles search
Adjusted drag-n-drop behavior of the platform code so it accepts dropping folders
Added ability to dump active PostEffects list to see what is currently running
Added ability to mark specific items in GuiTreeViewCtrl as hidden
Made reflection probe bounds boxes translucent rather than wireframe to improve editing visibility
Added expanded loose file references to LevelAsset for common companion files like decals and posteffect scrips
Added editor setting for Editor Layout Mode, allowing you to set the editor into 'Modern' layout.
Added editor settings to set default import config ruleset, and also ability to set auto-import. If both of these are set, then as long as the importing assets have no errors, they will auto-process and the user doesn't need to manually check and confirm them via the asset import window
This commit is contained in:
Areloch 2019-10-20 02:47:15 -05:00
parent e621e362f4
commit cba14c035f
33 changed files with 1633 additions and 800 deletions

View file

@ -32,6 +32,7 @@ function ESettingsWindow::startup( %this )
%this.addEditorSettingsPage("ShapeEditor", "Shape Editor");
%this.addEditorSettingsPage("NavEditor", "Navigation Editor");
%this.addEditorSettingsPage("Theme", "Theme");
%this.addEditorSettingsPage("AssetEditing", "Asset Editing");
%this.addGameSettingsPage("GameGeneral", "General");
%this.addGameSettingsPage("Gameplay", "Gameplay");
@ -185,7 +186,7 @@ function SettingsInspector::changeEditorSetting(%this, %varName, %value)
%success = ProjectSettings.write();
if(%oldValue !$= %value)
ESettingsWindow.refresh();
ESettingsWindow.schedule(15,"refresh");
}
function GuiInspectorVariableGroup::buildOptionsSettingField(%this, %fieldName, %fieldLabel, %fieldDesc, %fieldDefaultVal, %fieldDataVals, %ownerObj)
@ -292,6 +293,12 @@ function ESettingsWindow::getGeneralSettings(%this)
SettingsInspector.addSettingsField("WorldEditor/Theme/windowTitleFontColor", "Window Title Text Color", "colorI", "");
SettingsInspector.addSettingsField("WorldEditor/Theme/mainTextColor", "Main Text Color", "colorI", "");
SettingsInspector.endGroup();
SettingsInspector.startGroup("Layout");
SettingsInspector.addSettingsField("WorldEditor/Layout/LayoutMode", "Editor Layout Mode", "list", "This dictates which layout style the editor should use." @
"WARNING - Modern layout is highlight experimental." @
"Updating this requires a restart of the program", "Classic,Modern");
SettingsInspector.endGroup();
}
function ESettingsWindow::getCameraSettings(%this)
@ -380,6 +387,7 @@ function ESettingsWindow::getThemeSettings(%this)
SettingsInspector.addSettingsField("Theme/fieldTextColor", "Field Text Color", "ColorI", "");
SettingsInspector.addSettingsField("Theme/fieldTextHLColor", "Field Text Highlight Color", "ColorI", "");
SettingsInspector.addSettingsField("Theme/fieldTextSELColor", "Field Text Selected Color", "ColorI", "");
SettingsInspector.addSettingsField("Theme/fieldTextNAColor", "Field Text N/A Color", "ColorI", "");
SettingsInspector.addSettingsField("Theme/fieldBGColor", "Field Background Color", "ColorI", "");
SettingsInspector.addSettingsField("Theme/fieldBGHLColor", "Field Background Highlight Color", "ColorI", "");
@ -431,9 +439,38 @@ function ESettingsWindow::getAssetManagementSettings(%this)
SettingsInspector.addSettingsField("AssetManagement/Assets/assetExtension", "Asset Extension", "string", "");
SettingsInspector.addSettingsField("AssetManagement/Assets/datablockCaching", "Cache Datablocks", "bool", "");
//SettingsInspector.addSettingsField("AssetManagement/Assets/moduleExtension", "Module Extension", "string", "");
SettingsInspector.endGroup();
}
function ESettingsWindow::getAssetEditingSettings(%this)
{
ImportAssetWindow::reloadImportOptionConfigs();
for(%i=0; %i < ImportAssetWindow.importConfigsList.Count(); %i++)
{
%configName = ImportAssetWindow.importConfigsList.getKey(%i);
%formattedConfigList = %i == 0 ? %configName : %formattedConfigList @ "," @ %configName;
}
SettingsInspector.startGroup("Assets Importing");
SettingsInspector.addSettingsField("Assets/AssetImporDefaultConfig", "Default Asset Import Config", "list", "", %formattedConfigList);
SettingsInspector.addSettingsField("Assets/AutoImport", "Automatically Import using default config", "bool", "If on, the asset importing process" @
"will attempt to automatically import any inbound assets"@
"using the default config, without prompting the import window."@
"The window will still display if any issues are detected", "");
SettingsInspector.endGroup();
SettingsInspector.startGroup("Asset Browser");
SettingsInspector.addSettingsField("Assets/Browser/showCoreModule", "Show Core Module in Asset Browser", "bool", "");
SettingsInspector.addSettingsField("Assets/Browser/showToolsModule", "Show Tools Module in Asset Browser", "bool", "");
SettingsInspector.addSettingsField("Assets/Browser/showOnlyPopulatedModule", "Show Only Modules with Assets in Asset Browser", "bool", "");
SettingsInspector.addSettingsField("Assets/Browser/showFolders", "Show Folders in Tiles view in Asset Browser", "bool", "");
SettingsInspector.addSettingsField("Assets/Browser/showEmptyFolders", "Show Empty Folders in Tiles view in Asset Browser", "bool", "");
SettingsInspector.addSettingsField("Assets/Browser/previewTileSize", "Asset Preview Tile Size", "bool", "");
SettingsInspector.endGroup();
}
function ESettingsWindow::getGameplaySettings(%this)
{
SettingsInspector.startGroup("Game Modes");

View file

@ -1109,7 +1109,7 @@ singleton GuiControlProfile( ToolsGuiMenuBarProfile )
fontColor = EditorSettings.value("Theme/headerTextColor");
fontColorSEL = EditorSettings.value("Theme/fieldTextSELColor");
fontColorHL = EditorSettings.value("Theme/fieldTextHLColor");
fontColorNA = EditorSettings.value("Theme/fieldTextSELColor");
fontColorNA = EditorSettings.value("Theme/fieldTextNAColor");
border = 0;
borderThickness = 1;
opaque = true;