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