#ifndef COMMANDMANAGER_H
#define COMMANDMANAGER_H

#include "gaming-core/utils/HashMap.h"
#include "server/commands/CommandTypes.h"
#include "server/commands/ServerState.h"

class CommandManager {
public:
    CommandManager();

    void execute(ServerState& sc, const RawCommand& rawCommand);

private:
    typedef void (*Command)(ServerState&, const CommandArguments&);

    HashMap<CommandName, Command> commands;
};

#endif