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..be6acb7 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); } } };