#include #include "RedTileBehavior.h" #include "Tile.h" #include "TileData.h" #include "Museum.h" using namespace std; RedTileBehavior RedTileBehavior::instance {"R"}; 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 RedTileBehavior::clone(Museum & museum) { auto instance = new RedTileBehavior(); instance->museum = &museum; return unique_ptr(instance); }