24 lines
590 B
C++
24 lines
590 B
C++
#pragma once
|
|
|
|
namespace Components
|
|
{
|
|
class ClientCommand : public Component
|
|
{
|
|
public:
|
|
typedef void(Callback)(Game::gentity_s* entity);
|
|
|
|
ClientCommand();
|
|
~ClientCommand();
|
|
static void Add(const char* name, Utils::Slot<Callback> callback);
|
|
static bool CheatsOk(const Game::gentity_s* ent);
|
|
|
|
private:
|
|
static std::unordered_map<std::string, Utils::Slot<Callback>> FunctionMap;
|
|
|
|
static bool CallbackHandler(Game::gentity_s* ent, const char* cmd);
|
|
static void ClientCommandStub(const int clientNum);
|
|
static void AddCheatCommands();
|
|
static void AddScriptFunctions();
|
|
};
|
|
}
|