#pragma once #include #include #include #include #include "tileset.hpp" namespace silly::editor { struct Tile { sf::Vector2i position; std::shared_ptr tile; }; class TileFloor { public: TileFloor(int width, int height) : width(width), height(height) {} ~TileFloor() = default; void render(sf::RenderWindow &window) const; void place_tile(std::shared_ptr &tile, const sf::Vector2i &position); void remove_tile(const sf::Vector2i &position); const int get_width() const; const int get_height() const; private: int width, height; std::vector tiles; }; }