feat(mirror) add renderer system

This commit is contained in:
light7734 2025-10-02 23:53:44 +03:30
parent ef2f728cd6
commit 6af758643e
Signed by: light7734
GPG key ID: 8C30176798F1A6BA
2 changed files with 15 additions and 0 deletions

View file

@ -7,6 +7,7 @@ target_link_libraries(
time time
input input
surface surface
renderer
) )
add_test_module(libmirror add_test_module(libmirror

View file

@ -6,6 +6,7 @@
#include <input/components.hpp> #include <input/components.hpp>
#include <input/system.hpp> #include <input/system.hpp>
#include <math/vec2.hpp> #include <math/vec2.hpp>
#include <renderer/system.hpp>
#include <surface/events/keyboard.hpp> #include <surface/events/keyboard.hpp>
#include <surface/events/surface.hpp> #include <surface/events/surface.hpp>
#include <surface/system.hpp> #include <surface/system.hpp>
@ -126,6 +127,7 @@ public:
unregister_system(m_input_system); unregister_system(m_input_system);
unregister_system(m_surface_system); unregister_system(m_surface_system);
unregister_system(m_renderer_system);
unregister_system(m_mirror_system); unregister_system(m_mirror_system);
} }
@ -189,6 +191,15 @@ public:
quit_action_key, quit_action_key,
debug_action_keys debug_action_keys
); );
auto entity = ecs::Entity { m_editor_registry, m_window };
Ref<app::SystemStats> system_stats = nullptr;
m_renderer_system = std::make_shared<renderer::System>(renderer::System::CreateInfo {
.registry = m_editor_registry,
.surface_entity = entity,
.system_stats = system_stats,
});
} }
void setup_input_system() void setup_input_system()
@ -199,6 +210,7 @@ public:
{ {
register_system(m_surface_system); register_system(m_surface_system);
register_system(m_input_system); register_system(m_input_system);
register_system(m_renderer_system);
register_system(m_mirror_system); register_system(m_mirror_system);
} }
@ -209,6 +221,8 @@ private:
Ref<lt::input::System> m_input_system; Ref<lt::input::System> m_input_system;
Ref<lt::renderer::System> m_renderer_system;
Ref<MirrorSystem> m_mirror_system; Ref<MirrorSystem> m_mirror_system;
lt::ecs::EntityId m_window = lt::ecs::null_entity; lt::ecs::EntityId m_window = lt::ecs::null_entity;