diff options
Diffstat (limited to 'TileBehavior.h')
-rw-r--r-- | TileBehavior.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/TileBehavior.h b/TileBehavior.h index e46c0cf..2298c07 100644 --- a/TileBehavior.h +++ b/TileBehavior.h @@ -1,6 +1,21 @@ #pragma once +#include <map> +#include <string> + +#include "TileBehaviorStrategy.h" + class TileBehavior { + typedef std::map<std::string, TileBehaviorStrategy *> TileBehaviorCollection; + +public: + static TileBehaviorStrategy & get_strategy(std::string); + static void register_strategy(std::string, TileBehaviorStrategy *); +private: + static TileBehaviorCollection & get_collection() { + static TileBehaviorCollection c = {}; + return c; + } }; |