#ifndef TILESET_H_B89AE7A1 #define TILESET_H_B89AE7A1 #include #include "renderer.h" #include "enums.h" #include "consts.h" class Tileset { public: Tileset(SDL_Renderer* ren, std::string filename) { surface_ptr surf(IMG_Load(("../res/" + filename).c_str())); if (!surf) { throw img_error(); } image_.reset(SDL_CreateTextureFromSurface(ren, surf.get())); size_ = { surf->w, surf->h }; numTiles_ = size_.h() / TILE_SIZE.h(); } bool canEntityMoveTo(ColliderType collider, size_t tile) const { return true; } const texture_ptr& getImage() const { return image_; } const vec2i& getSize() const { return size_; } size_t getNumTiles() const { return numTiles_; } private: texture_ptr image_; vec2i size_; size_t numTiles_; }; #endif /* end of include guard: TILESET_H_B89AE7A1 */