diff options
| author | hachem <im@hachem.wtf> | 2025-08-17 22:38:29 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2025-08-17 22:38:29 +0200 |
| commit | d65233be9433a01c54e959aea72e87ff2e385937 (patch) | |
| tree | 70cea1cf2b1f62b09f94d5b0dcbc7c193cec2fe4 /src/core | |
| parent | df479e3f8b803f8675fedb009f7ea78aa107d194 (diff) | |
feat: add world builder state
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/application.cpp | 19 | ||||
| -rw-r--r-- | src/core/settings_manager.cpp | 2 |
2 files changed, 17 insertions, 4 deletions
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 <GLFW/glfw3.h> - +#include <ImGuizmo.h> 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<StateManager>(); - m_state_manager->register_state("Config", create_scope<ConfigState>()); - m_state_manager->register_state("Simulation", create_scope<SimulationState>()); + m_state_manager->register_state("Config", create_scope<ConfigState>()); + m_state_manager->register_state("Simulation", create_scope<SimulationState>()); + m_state_manager->register_state("WorldBuilder", create_scope<WorldBuilderState>()); 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) |
