summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/editor.cpp13
-rw-r--r--src/floor.cpp5
-rw-r--r--src/floor.hpp2
3 files changed, 11 insertions, 9 deletions
diff --git a/src/editor.cpp b/src/editor.cpp
index 1929f7f..4fd9dad 100644
--- a/src/editor.cpp
+++ b/src/editor.cpp
@@ -39,12 +39,13 @@ namespace silly::editor {
(ry < mousePosition.y && mousePosition.y < ry + 16)) {
sf::Vector2i pos(x, y);
- if (sf::Mouse::isButtonPressed(sf::Mouse::Button::Left) &&
- this->selectedTile.has_value()) {
- this->floor.place_tile(this->selectedTile.value(), pos,
- this->rotation);
- } else if (sf::Mouse::isButtonPressed(sf::Mouse::Button::Right)) {
- this->floor.remove_tile(pos);
+ if (this->selectedTile.has_value()) {
+ auto tile = this->selectedTile.value();
+ if (sf::Mouse::isButtonPressed(sf::Mouse::Button::Left)) {
+ this->floor.place_tile(tile, pos, this->rotation);
+ } else if (sf::Mouse::isButtonPressed(sf::Mouse::Button::Right)) {
+ this->floor.remove_tile(tile->type, pos);
+ }
}
}
}
diff --git a/src/floor.cpp b/src/floor.cpp
index 6632b6a..aacf77e 100644
--- a/src/floor.cpp
+++ b/src/floor.cpp
@@ -57,8 +57,9 @@ namespace silly::editor {
layer.tiles.push_back({tile, position, rotation});
}
}
- void TileFloor::remove_tile(const sf::Vector2i &position) {
- TileLayer &layer = this->layers.at(this->activeLayerIndex);
+ void TileFloor::remove_tile(TilesetTileType type,
+ const sf::Vector2i &position) {
+ TileLayer &layer = this->layers.at(type);
layer.tiles.resize(std::distance(
layer.tiles.begin(),
diff --git a/src/floor.hpp b/src/floor.hpp
index dcb9fa7..4236166 100644
--- a/src/floor.hpp
+++ b/src/floor.hpp
@@ -33,7 +33,7 @@ namespace silly::editor {
void render(sf::RenderWindow &window) const;
void place_tile(std::shared_ptr<TilesetTile> &tile,
const sf::Vector2i &position, const float &rotation);
- void remove_tile(const sf::Vector2i &position);
+ void remove_tile(TilesetTileType type, const sf::Vector2i &position);
const int get_width() const;
const int get_height() const;