ColorRace/game/src/GameLayer.h
2026-07-30 07:42:56 +02:00

33 lines
954 B
C++

//
// Created by sebastian on 29.07.26.
//
#ifndef COLORRACE_GAMELAYER_H
#define COLORRACE_GAMELAYER_H
#include <utility>
#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<engine::Camera> cam)
: m_entityRegistry(entityRegistry), m_camera(std::move(cam)), m_renderer(std::make_unique<engine::MeshRenderer>()) {}
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<engine::Camera> m_camera;
std::unique_ptr<engine::MeshRenderer> m_renderer;
};
#endif //COLORRACE_GAMELAYER_H