VoltMod
C++23 framework for CS2 server plugins
Loading...
Searching...
No Matches
VoltMod::SharedState Struct Reference

#include <PluginContext.hpp>

Public Attributes

LoaderHandoff Start
 
IPluginGameData * GameData = nullptr
 
IPluginAddons * Addons = nullptr
 null downloads nothing
 
uint64_t SchemaLayoutStamp = 0
 zero until the host has checked its own layout
 
bool SchemaVerified = false
 
uint64_t NextToken = 1
 unique across every event and the service table, never zero, never reused
 
uint64_t NextOrder = 1
 load positions keep rising, so a reloaded plugin dispatches last
 
std::string CurrentMap
 
PerSlot< std::optional< ConnectedClient > > Clients
 
CallbackList< IPluginEvents::FrameFn > Frame
 
CallbackList< IPluginEvents::ServerStartupFn > ServerStartup
 
CallbackList< IPluginEvents::ClientConnectingFn > ClientConnecting
 
CallbackList< IPluginEvents::ClientConnectedFn > ClientConnected
 
CallbackList< IPluginEvents::ClientDisconnectedFn > ClientDisconnected
 
CallbackList< IPluginEvents::ClientFullyConnectedFn > ClientFullyConnected
 
CallbackList< IPluginEvents::ClientSettingsChangedFn > ClientSettingsChanged
 
CallbackList< IPluginEvents::ConsoleCommandFn > ConsoleCommand
 
CallbackList< IPluginEvents::CheckTransmitFn > CheckTransmit
 
CallbackList< IPluginEvents::BuildGameSessionManifestFn > BuildGameSessionManifest
 
CallbackList< IPluginEvents::PlayerCommandFn > PlayerCommand
 
CallbackList< IPluginEvents::PlayerCommandFn > PlayerCommandDone
 
CallbackList< IPluginEvents::ButtonPressFn > ButtonPress
 
PublishedInterfaces Services
 
CommandNames Commands
 
LanguageTable Languages
 

Detailed Description

Process-wide host state behind every plugin's view. Owned by PluginRegistry, which outlives every view. Game thread only; nothing locks.

Definition at line 37 of file PluginContext.hpp.

Member Data Documentation

◆ Addons

IPluginAddons* VoltMod::SharedState::Addons = nullptr

◆ BuildGameSessionManifest

◆ ButtonPress

◆ CheckTransmit

◆ ClientConnected

◆ ClientConnecting

◆ ClientDisconnected

◆ ClientFullyConnected

◆ Clients

◆ ClientSettingsChanged

◆ Commands

◆ ConsoleCommand

◆ CurrentMap

std::string VoltMod::SharedState::CurrentMap

Replayed to a plugin loaded mid-map; empty until the first map starts.

Definition at line 50 of file PluginContext.hpp.

Referenced by VoltMod::PluginRegistry::RaiseServerStartup(), and VoltMod::PluginContext::ReplayMissedEvents().

◆ Frame

CallbackList<IPluginEvents::FrameFn> VoltMod::SharedState::Frame

◆ GameData

IPluginGameData* VoltMod::SharedState::GameData = nullptr

◆ Languages

◆ NextOrder

uint64_t VoltMod::SharedState::NextOrder = 1

load positions keep rising, so a reloaded plugin dispatches last

Definition at line 47 of file PluginContext.hpp.

Referenced by VoltMod::PluginRegistry::AddPlugin().

◆ NextToken

uint64_t VoltMod::SharedState::NextToken = 1

unique across every event and the service table, never zero, never reused

Definition at line 46 of file PluginContext.hpp.

◆ PlayerCommand

◆ PlayerCommandDone

◆ SchemaLayoutStamp

uint64_t VoltMod::SharedState::SchemaLayoutStamp = 0

zero until the host has checked its own layout

Definition at line 43 of file PluginContext.hpp.

Referenced by VoltMod::PluginContext::SchemaLayoutStamp(), and VoltMod::PluginRegistry::SetSchemaLayout().

◆ SchemaVerified

bool VoltMod::SharedState::SchemaVerified = false

◆ ServerStartup

◆ Services

◆ Start


The documentation for this struct was generated from the following file: