aboutsummaryrefslogtreecommitdiff
path: root/RedTileBehavior.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'RedTileBehavior.cpp')
-rw-r--r--RedTileBehavior.cpp14
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) {