#pragma once #include #include class Tile; class TileBehaviorStrategy { public: virtual void run(Tile &) = 0; virtual std::unique_ptr clone() = 0; protected: TileBehaviorStrategy(const std::string type); TileBehaviorStrategy() = default; };