Entity I/O

Entity I/O system (inputs/outputs) for Source2Mod.

Provides:

  • Access to entity outputs (OnTrigger, OnUse, etc.)
  • Hooking system for listening to outputs
  • Filtering by entity + classname + output name
Equivalent to Hammer I/O system (FireOutput / AcceptInput).

Header source2mod/schema/entityio.h

InputData_t

Data passed to inputs.

Fields

FieldTypeDescription
pActivatorCBaseEntity*Entity that triggered the input
pCallerCBaseEntity*Entity owning the output
valuevariant_tPassed value
nOutputIDint

IEntityIOListener

Interface for listening to entity outputs.

OnEntityOutput

virtual Action OnEntityOutput(const char* pchOutputName, CEntityInstance* pActivator, CEntityInstance* pCaller, float flDelay, bool post);

Called when an entity fires an output.

ParameterTypeDescription
pchOutputNameconst char*Output name (e.g. "OnTrigger")
pActivatorCEntityInstance*Activator entity
pCallerCEntityInstance*Caller entity
flDelayfloatDelay before execution
postboolfalse when called before the output fires, true after

Returns Action — Action (Action::Ignore / Action::Override / Action::Supersede)

CSingleEntityIOListener

Listener bound to a specific entity.

Inherits IEntityIOListener

Fields

FieldTypeDescription
m_pTargetCEntityInstance*
m_Callbackstd::function<Action(const char*, CEntityInstance*, CEntityInstance*, float, bool)>Callback handler

Constructors

CSingleEntityIOListener(CEntityInstance* target, std::function<Action(const char*, CEntityInstance*, CEntityInstance*, float, bool)> cb);

OnEntityOutput

Action OnEntityOutput(const char* outputName, CEntityInstance* pActivator, CEntityInstance* pCaller, float delay, bool post) override;
ParameterType
outputNameconst char*
pActivatorCEntityInstance*
pCallerCEntityInstance*
delayfloat
postbool

CEntityIOListenerHandle

RAII handle for entity output listeners.

Automatically unregisters listener on destruction.

Fields

FieldType
m_pListenerCSingleEntityIOListener*
m_szClassnamestd::string
m_szOutputstd::string
m_bPostbool

Unhook

void Unhook();

Removes listener.

EntityIOCallbackPair

Stores listeners per output.

Fields

OutputKey

Key for output lookup.

Fields

FieldType
m_szClassNamestd::string
m_szOutputNamestd::string

OutputKeyHash

Hash function for OutputKey.

Macros

NULL

#define NULL 0

Entity I/O system (inputs/outputs) for Source2Mod.

Provides:

  • Access to entity outputs (OnTrigger, OnUse, etc.)
  • Hooking system for listening to outputs
  • Filtering by entity + classname + output name
Equivalent to Hammer I/O system (FireOutput / AcceptInput).

On this page