// // Created by sebastian on 29.07.26. // #ifndef COLORRACE_GAMELAYER_H #define COLORRACE_GAMELAYER_H #include #include "ecs/EntityRegistry.h" #include "layer/Layer.h" #include "renderer/MeshRenderer.h" #include "renderer/RenderQueue.h" #include "utils/openglWrapper/GLRenderState.h" class GameLayer: public engine::Layer { public: GameLayer(engine::EntityRegistry& entityRegistry, std::shared_ptr cam) : m_entityRegistry(entityRegistry), m_camera(std::move(cam)), m_renderer(std::make_unique()) {} void onAttach() override; void onDetach() override; void onUpdate() override; void onRender() override; private: engine::GLRenderState m_renderState; engine::RenderQueue m_renderQueue; engine::EntityRegistry& m_entityRegistry; std::shared_ptr m_camera; std::unique_ptr m_renderer; }; #endif //COLORRACE_GAMELAYER_H