#ifndef _H_MAP_H #define _H_MAP_H #include #include #include "graphics/instancedraw.h" class Shader; class Camera; class ResourceManager; struct MapData; struct TileSetData; class Map { public: Map(std::shared_ptr mapData, const std::shared_ptr& shader, std::shared_ptr resourceManager); const std::vector> getCollisionMap() const { return collisionMap; } void render(const std::shared_ptr& camera); private: void loadMap(); void createCollisionMap(); std::shared_ptr mapData; std::shared_ptr tileSetData; std::vector> instanceHandles; std::shared_ptr shader; std::vector>> tileIds; std::vector> collisionMap; std::vector> tileData; }; #endif