/* * TileMapComponent.h * * Created on: Mar 21, 2020 * Author: ayoungblood */ #ifndef SRC_ECS_TILEMAPCOMPONENT_H_ #define SRC_ECS_TILEMAPCOMPONENT_H_ #include "ECS.h" #include "SDL2/SDL.h" #include "../assetmgr/AssetManager.h" #include #include #include #include // #include // #include #include "tmxparser.h" class TileMapComponent : public Component { public: // TransformComponent *transform; SDL_Texture* texture; SDL_Rect srcRect, destRect; // Vector2D position; // std::tuple tile; tmxparser::TmxMap map; int globalScale; std::vector tileSet; std::vector destRects; // std::array destRects; int totalTiles; TileMapComponent() = default; ~TileMapComponent() { SDL_DestroyTexture(texture); } TileMapComponent(tmxparser::TmxMap loadedMap, int gScale) { map = loadedMap; std::string texturePath = "assets/textures/tiles/" + loadedMap.tilesetCollection[0].name + ".png"; Game::assets->AddTexture(map.tilesetCollection[0].name, texturePath.c_str()); setTex(map.tilesetCollection[0].name); globalScale = gScale; totalTiles = map.tilesetCollection[0].colCount*map.tilesetCollection[0].rowCount; // std::cout << "Number of Tiles: " << totalTiles << std::endl; tileSet.resize(totalTiles); for (int r=0;r