#pragma once #include #include "TileData.h" #include "Color.h" #include "TileBehavior.h" #include "XY.h" class Museum; class Tile { public: Tile(Museum & museum, TileData & data); public: TileData data; Color color; std::unique_ptr behavior = nullptr; public: void set_data(TileData & data); void set_type(const std::string & type); void update(); Tile * get_neighbor(const XY & offset); private: Museum & museum; };