#pragma once #include "olcUTIL_Geometry2D.h" struct XMLTag; enum MapName{ LEVEL1, LEVEL2, CAMPAIGN_1_1, }; struct TileCollisionData{ geom2d::rect<int>collision; }; struct TilesetData{ Renderable*tileset; std::map<int,XMLTag>foregroundTiles; std::map<int,XMLTag>upperForegroundTiles; std::map<int,TileCollisionData>collision; std::map<int,XMLTag>staircaseTiles; }; struct TileRenderData{ Decal*tileset; vi2d pos; vi2d tileSheetPos; }; struct TileGroup{ private: geom2d::rect<int>range; std::vector<TileRenderData>tiles; public: geom2d::rect<int>GetRange(); std::vector<TileRenderData>&GetTiles(); void InsertTile(TileRenderData tile); bool playerBehind=false; };