#include "tileset.hpp" #include namespace silly::editor { void Tileset::add_tile(const std::string &path, TilesetTileType type) { TilesetTile tile; tile.type = type; tile.id = this->tiles.size(); if (!tile.texture.loadFromFile(path)) { // TODO: add logging here return; } this->tiles.push_back(std::make_shared(tile)); } void Tileset::remove_tile(const TilesetTile &tile) { this->tiles.resize(std::distance( this->tiles.begin(), std::remove_if(this->tiles.begin(), this->tiles.end(), [&tile](const std::shared_ptr &t) { return t.get()->id == tile.id; }))); } const std::vector> &Tileset::get_tiles() const { return this->tiles; } }