33 lines
954 B
C++
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
|