diff --git a/modules/mirror/CMakeLists.txt b/modules/mirror/CMakeLists.txt index 6b6d76a..5a526a5 100644 --- a/modules/mirror/CMakeLists.txt +++ b/modules/mirror/CMakeLists.txt @@ -7,6 +7,7 @@ target_link_libraries( time input surface + renderer ) add_test_module(libmirror diff --git a/modules/mirror/private/entrypoint/mirror.cpp b/modules/mirror/private/entrypoint/mirror.cpp index 852bcab..8be091a 100644 --- a/modules/mirror/private/entrypoint/mirror.cpp +++ b/modules/mirror/private/entrypoint/mirror.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -126,6 +127,7 @@ public: unregister_system(m_input_system); unregister_system(m_surface_system); + unregister_system(m_renderer_system); unregister_system(m_mirror_system); } @@ -189,6 +191,15 @@ public: quit_action_key, debug_action_keys ); + + auto entity = ecs::Entity { m_editor_registry, m_window }; + Ref system_stats = nullptr; + + m_renderer_system = std::make_shared(renderer::System::CreateInfo { + .registry = m_editor_registry, + .surface_entity = entity, + .system_stats = system_stats, + }); } void setup_input_system() @@ -199,6 +210,7 @@ public: { register_system(m_surface_system); register_system(m_input_system); + register_system(m_renderer_system); register_system(m_mirror_system); } @@ -209,6 +221,8 @@ private: Ref m_input_system; + Ref m_renderer_system; + Ref m_mirror_system; lt::ecs::EntityId m_window = lt::ecs::null_entity;