1#ifndef GAME_MAP_MAP_RENDERER_H
2#define GAME_MAP_MAP_RENDERER_H
3
4#include <engine/map.h>
5
6#include <game/layers.h>
7#include <game/map/render_component.h>
8#include <game/map/render_layer.h>
9
10class CMapRenderer : public CRenderComponent
11{
12public:
13 CMapRenderer() = default;
14
15 void Clear();
16 void Load(ERenderType Type, CLayers *pLayers, IMapImages *pMapImages, IEnvelopeEval *pEnvelopeEval, std::optional<FRenderUploadCallback> RenderCallbackOptional);
17 void Render(const CRenderLayerParams &Params);
18
19private:
20 int GetLayerType(const CMapItemLayer *pLayer, const CLayers *pLayers) const;
21
22 std::vector<std::unique_ptr<CRenderLayer>> m_vpRenderLayers;
23};
24
25#endif
26