From 51c9058ab8779e1fdc3a60a725c294e998e14adb Mon Sep 17 00:00:00 2001 From: SHAM-DP Date: Wed, 28 Dec 2022 17:00:54 +0800 Subject: [PATCH] Window now maximized by default Application now loads working scene if run with editor Added editor config to save: - Window size - Window Maximized - Working Scene - Editor Style --- .../src/Application/SBApplication.cpp | 8 ++++++- .../EditorWindow/MenuBar/SHEditorMenuBar.cpp | 2 +- SHADE_Engine/src/Editor/SHEditor.cpp | 23 +++++++++++++++++-- SHADE_Engine/src/Editor/SHEditor.h | 5 +++- SHADE_Engine/src/Editor/SHEditorWidgets.hpp | 2 +- .../src/Graphics/Windowing/SHWindow.cpp | 9 ++++++++ .../src/Graphics/Windowing/SHWindow.h | 2 ++ .../Configurations/SHConfigurationManager.cpp | 22 ++++++++++++++++-- .../Configurations/SHConfigurationManager.h | 9 +++++--- 9 files changed, 71 insertions(+), 11 deletions(-) diff --git a/SHADE_Application/src/Application/SBApplication.cpp b/SHADE_Application/src/Application/SBApplication.cpp index 5aa1eb00..fcceacab 100644 --- a/SHADE_Application/src/Application/SBApplication.cpp +++ b/SHADE_Application/src/Application/SBApplication.cpp @@ -67,6 +67,9 @@ namespace Sandbox SHFileUtilities::SetWorkDirToExecDir(); WindowData wndData{}; auto& appConfig = SHConfigurationManager::LoadApplicationConfig(&wndData); +#if SHEDITOR + auto& editorConfig = SHConfigurationManager::LoadEditorConfig(&wndData); +#endif window.Create(hInstance, hPrevInstance, lpCmdLine, nCmdShow, wndData); // Create Systems @@ -158,8 +161,11 @@ namespace Sandbox SHSystemManager::Init(); +#if SHEDITOR + SHSceneManager::InitSceneManager(editorConfig.workingSceneID); +#else SHSceneManager::InitSceneManager(appConfig.startingSceneID); - +#endif SHFrameRateController::UpdateFRC(); // Link up SHDebugDraw diff --git a/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.cpp b/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.cpp index a1335e19..a364ea83 100644 --- a/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.cpp +++ b/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.cpp @@ -183,7 +183,7 @@ namespace SHADE //ImGui::InputScalar("Starting Scene", ImGuiDataType_U32, &appConfig.startingSceneID); auto sceneAsset = SHAssetManager::GetData(appConfig.startingSceneID); - if(ImGui::BeginCombo("Starting Scne", sceneAsset ? sceneAsset->name.data() : "")) + if(ImGui::BeginCombo("Starting Scene", sceneAsset ? sceneAsset->name.data() : "")) { auto scenes = SHAssetManager::GetAllRecordOfType(AssetType::SCENE); for(auto const& scene : scenes) diff --git a/SHADE_Engine/src/Editor/SHEditor.cpp b/SHADE_Engine/src/Editor/SHEditor.cpp index 6466533f..7d713ff2 100644 --- a/SHADE_Engine/src/Editor/SHEditor.cpp +++ b/SHADE_Engine/src/Editor/SHEditor.cpp @@ -93,6 +93,8 @@ namespace SHADE SHLOG_CRITICAL("Failed to create ImGui Context") } } + + editorConfig = &SHConfigurationManager::LoadEditorConfig(); //Add editor windows SHEditorWindowManager::CreateEditorWindow(); @@ -122,7 +124,7 @@ namespace SHADE InitBackend(); - SetStyle(Style::SHADE); + SetStyle(static_cast