CommandManager.h 598 B

123456789101112131415161718192021222324252627
  1. #ifndef COMMANDMANAGER_H
  2. #define COMMANDMANAGER_H
  3. #include <iostream>
  4. #include <unordered_map>
  5. #include <vector>
  6. #include "server/commands/ICommandSource.h"
  7. using namespace std;
  8. class CommandManager
  9. {
  10. public:
  11. CommandManager();
  12. virtual ~CommandManager();
  13. void execute(IGameServer& gs, ICommandSource& cs, const string& rawCommand) const;
  14. private:
  15. unordered_map<string, void (*) (IGameServer& gs, ICommandSource&, vector<string>&)> commands;
  16. void registerCommand(const string& name, void (*command) (IGameServer& gs, ICommandSource&, vector<string>&));
  17. };
  18. #endif