diff options
Diffstat (limited to 'src/game-server/monstermanager.hpp')
-rw-r--r-- | src/game-server/monstermanager.hpp | 57 |
1 files changed, 34 insertions, 23 deletions
diff --git a/src/game-server/monstermanager.hpp b/src/game-server/monstermanager.hpp index 18377bc..6337b81 100644 --- a/src/game-server/monstermanager.hpp +++ b/src/game-server/monstermanager.hpp @@ -22,30 +22,41 @@ #define MONSTERMANAGER_HPP #include <string> - +#include <map> class MonsterClass; - -namespace MonsterManager +class MonsterManager { - /** - * Loads monster reference file. - */ - void initialize(const std::string &); - - /** - * Reloads monster reference file. - */ - void reload(); - - /** - * Destroy monster classes. - */ - void deinitialize(); - - /** - * Gets the MonsterClass having the given ID. - */ - MonsterClass *getMonster(int id); -} + public: + + MonsterManager(const std::string &file) : mMonsterReferenceFile(file) {} + /** + * Loads monster reference file. + */ + void initialize(); + + /** + * Reloads monster reference file. + */ + void reload(); + + /** + * Destroy monster classes. + */ + void deinitialize(); + + /** + * Gets the MonsterClass having the given ID. + */ + MonsterClass *getMonster(int id); + + private: + + typedef std::map< int, MonsterClass * > MonsterClasses; + MonsterClasses mMonsterClasses; /**< Monster reference */ + + std::string mMonsterReferenceFile; +}; + +extern MonsterManager *monsterManager; #endif // MONSTERMANAGER_HPP |