diff options
Diffstat (limited to 'RedTileBehavior.cpp')
-rw-r--r-- | RedTileBehavior.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/RedTileBehavior.cpp b/RedTileBehavior.cpp index b0d09c2..245b886 100644 --- a/RedTileBehavior.cpp +++ b/RedTileBehavior.cpp @@ -1,12 +1,24 @@ #include <memory> #include "RedTileBehavior.h" +#include "Tile.h" +#include "TileData.h" +#include "Museum.h" using namespace std; RedTileBehavior RedTileBehavior::instance {"R"}; -void RedTileBehavior::update(Tile &) { +void RedTileBehavior::step(Artist & artist) { + this->interactions++; + this->museum->people.remove_artist(artist); +} + +void RedTileBehavior::update(Tile & tile) { + if (this->interactions == 0) return; + TileData new_data = tile.data; + new_data.type = "B"; + tile.set_data(new_data); } unique_ptr<TileBehaviorStrategy> RedTileBehavior::clone(Museum & museum) { |