From d65233be9433a01c54e959aea72e87ff2e385937 Mon Sep 17 00:00:00 2001 From: hachem Date: Sun, 17 Aug 2025 22:38:29 +0200 Subject: feat: add world builder state --- src/core/application.cpp | 19 +++++++++++++++---- src/core/settings_manager.cpp | 2 ++ 2 files changed, 17 insertions(+), 4 deletions(-) (limited to 'src/core') diff --git a/src/core/application.cpp b/src/core/application.cpp index 9d2278e..85c7645 100644 --- a/src/core/application.cpp +++ b/src/core/application.cpp @@ -5,9 +5,10 @@ #include "states/simulation_state.h" #include "states/config_state.h" +#include "states/world_builder_state.h" #include - +#include namespace Donut { @@ -88,6 +89,12 @@ namespace Donut event.handled = true; return true; } + else if (e.get_key_code() == GLFW_KEY_3) + { + m_state_manager->switch_to_state("WorldBuilder"); + event.handled = true; + return true; + } return true; }); @@ -112,8 +119,9 @@ namespace Donut RenderCommand::set_face_culling(false); m_state_manager = create_scope(); - m_state_manager->register_state("Config", create_scope()); - m_state_manager->register_state("Simulation", create_scope()); + m_state_manager->register_state("Config", create_scope()); + m_state_manager->register_state("Simulation", create_scope()); + m_state_manager->register_state("WorldBuilder", create_scope()); m_state_manager->switch_to_state("Config"); } @@ -139,8 +147,11 @@ namespace Donut void Application::on_render() { m_state_manager->render(); - m_window->begin_im_gui_frame(); + + ImGuizmo::BeginFrame(); + ImGuizmo::SetOrthographic(false); + setup_docking_layout(); m_state_manager->on_im_ui_render(); m_window->end_im_gui_frame(); diff --git a/src/core/settings_manager.cpp b/src/core/settings_manager.cpp index eb68794..289285c 100644 --- a/src/core/settings_manager.cpp +++ b/src/core/settings_manager.cpp @@ -138,7 +138,9 @@ namespace Donut DONUT_INFO("Settings saved to {}", file_path); } catch (const std::exception& e) + { DONUT_ERROR("Failed to save settings: {}", e.what()); + } } void SettingsManager::set_simulation_settings(const SimulationSettings& settings) -- cgit v1.3