33 PluginContext*
AddPlugin(std::string_view name, std::string_view logTag = {}, std::string_view version = {});
38 PluginContext*
FindPlugin(std::string_view name);
73 std::vector<std::unique_ptr<PluginContext>> _plugins;
The loaded plugins and the engine events raised on them, one per process.
std::string RaiseClientConnecting(int slot, int64_t steamId, std::string_view name)
void RaiseButtonPress(int slot, std::string_view buttonId)
void RaiseClientSettingsChanged(int slot)
void RegisterHostCommand(std::string_view name)
void RaiseCheckTransmit(CCheckTransmitInfo **infoList, int infoCount)
void SetSchemaLayout(uint64_t stamp, bool verified)
PluginContext * FindPlugin(std::string_view name)
bool HasCommandListeners() const
void RaiseClientConnected(int slot, int64_t steamId, std::string_view name, std::string_view address)
void RaiseServerStartup(std::string_view mapName)
void RaiseBuildGameSessionManifest(IEntityResourceManifest *manifest)
bool RaiseConsoleCommand(std::string_view name, std::string_view arguments, int slot)
IPluginGameData * GameData() const
PluginRegistry & operator=(const PluginRegistry &)=delete
LeakReport RemovePlugin(std::string_view name)
PluginRegistry(const PluginRegistry &)=delete
void RaiseClientFullyConnected(int slot)
PluginContext * AddPlugin(std::string_view name, std::string_view logTag={}, std::string_view version={})
void RaiseClientDisconnected(int slot)
bool IsConnected(int slot) const
void RaisePlayerCommand(int slot, const PlayerInput &input)
void RaisePlayerCommandDone(int slot, const PlayerInput &input)
static std::string ReadFile(const std::filesystem::path &path)
constexpr bool IsValidSlot(int slot)
IPluginGameData * GameData
PerSlot< std::optional< ConnectedClient > > Clients