From c7c3a922db1ef38c78d6a208d94e62f4a7835ae1 Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Sat, 29 Oct 2022 21:57:32 -0400 Subject: [PATCH 1/2] Add simple menus for camera and begin base on key bindings --- lib/engine/CMakeLists.txt | 2 +- lib/engine/include/facade/engine/editor/keybinder.hpp | 7 +++++++ lib/engine/src/editor/keybinder.cpp | 6 ++++++ src/main.cpp | 10 +++++++++- 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 lib/engine/include/facade/engine/editor/keybinder.hpp create mode 100644 lib/engine/src/editor/keybinder.cpp diff --git a/lib/engine/CMakeLists.txt b/lib/engine/CMakeLists.txt index 19245c2..92c0274 100644 --- a/lib/engine/CMakeLists.txt +++ b/lib/engine/CMakeLists.txt @@ -49,4 +49,4 @@ target_sources(${PROJECT_NAME} PRIVATE src/editor/inspector.cpp src/editor/log.cpp src/editor/scene_tree.cpp -) + "src/editor/keybinder.cpp") diff --git a/lib/engine/include/facade/engine/editor/keybinder.hpp b/lib/engine/include/facade/engine/editor/keybinder.hpp new file mode 100644 index 0000000..99eb3f4 --- /dev/null +++ b/lib/engine/include/facade/engine/editor/keybinder.hpp @@ -0,0 +1,7 @@ +#pragma once + +#include + +namespace facade::editor { + +} diff --git a/lib/engine/src/editor/keybinder.cpp b/lib/engine/src/editor/keybinder.cpp new file mode 100644 index 0000000..1d01481 --- /dev/null +++ b/lib/engine/src/editor/keybinder.cpp @@ -0,0 +1,6 @@ +#include + +namespace facade::editor { + + +} diff --git a/src/main.cpp b/src/main.cpp index 847682c..48bd49e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -114,9 +114,10 @@ static constexpr auto test_json_v = R"( struct MainMenu { struct { - bool stats{}; bool tree{}; + bool stats{}; bool log{}; + bool camera; bool imgui_demo{}; } windows{}; @@ -176,6 +177,11 @@ struct MainMenu { if (auto window = editor::Window{"Log", &windows.log}) { data.log.render(window); } } + void cam(Scene& scene) { + ImGui::SetNextWindowSize({600.0f, 200.0f}, ImGuiCond_Once); + if (auto window = editor::Window{"Camera", &windows.camera}) { scene.camera().transform.; } + } + void display(Engine& engine, float const dt) { if (auto main = editor::MainMenu{}) { if (auto file = editor::Menu{main, "File"}) { @@ -186,6 +192,7 @@ struct MainMenu { if (ImGui::MenuItem("Tree")) { windows.tree = true; } if (ImGui::MenuItem("Stats")) { windows.stats = true; } if (ImGui::MenuItem("Log")) { windows.log = true; } + if (ImGui::MenuItem("Camera")) { windows.camera = true; } if constexpr (debug_v) { if (ImGui::MenuItem("ImGui demo")) { windows.imgui_demo = true; } } @@ -198,6 +205,7 @@ struct MainMenu { if (data.inspectee) { inspector(engine.scene()); } if (windows.stats) { stats(engine, dt); } if (windows.log) { log(); } + if (windows.camera) { cam(engine.scene()); } if (windows.imgui_demo) { ImGui::ShowDemoWindow(&windows.imgui_demo); } } }; From e5a642523e2a2bc1bd28e08f2e475c0aebdfc8f4 Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Sat, 29 Oct 2022 22:05:06 -0400 Subject: [PATCH 2/2] Oops forgot to remove a dot --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 48bd49e..be6acb7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -179,7 +179,7 @@ struct MainMenu { void cam(Scene& scene) { ImGui::SetNextWindowSize({600.0f, 200.0f}, ImGuiCond_Once); - if (auto window = editor::Window{"Camera", &windows.camera}) { scene.camera().transform.; } + if (auto window = editor::Window{"Camera", &windows.camera}) { scene.camera().transform; } } void display(Engine& engine, float const dt) {