Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
EventProvider Class Reference

Class for broadcasting events to registered receivers. More...

Inheritance diagram for EventProvider:
ScriptAndConfig ScriptAndConfig SaveGameManager SaveGameManager WorldController WorldController WorldSystem WorldSystem ReforgerSaveGameManager ReforgerSaveGameManager ReforgerSaveGameManager ReforgerSaveGameManager DialogueController DialogueController RadioController RplSchedulerDebugController RplSchedulerDebugController DialogueController DialogueController RadioController RplSchedulerDebugController RplSchedulerDebugController AICenterOfMassSystem AICenterOfMassSystem AIDiagSystem AIDiagSystem AIWorldSystem AIWorldSystem AnimationControllerSystem AnimationControllerSystem AnimationPlayerSystem AnimationPlayerSystem BehaviorTreeSystem BehaviorTreeSystem DialogueSystem DialogueSystem GameSystem GameSystem NavmeshSystem NavmeshSystem NearbyEntitiesSystem NearbyEntitiesSystem ParticleEffectsSystem ParticleEffectsSystem PawnEntitySystem PersistenceSystem PersistenceSystem RoadNetworkSystem RoadNetworkSystem RplSchedulerDebugSystem RplSchedulerDebugSystem SndSystem SndSystem AICenterOfMassSystem AICenterOfMassSystem AIDiagSystem AIDiagSystem AIWorldSystem AIWorldSystem AnimationControllerSystem AnimationControllerSystem AnimationPlayerSystem AnimationPlayerSystem BehaviorTreeSystem BehaviorTreeSystem DialogueSystem DialogueSystem GameSystem GameSystem NavmeshSystem NavmeshSystem NearbyEntitiesSystem NearbyEntitiesSystem ParticleEffectsSystem ParticleEffectsSystem PawnEntitySystem PersistenceSystem PersistenceSystem RoadNetworkSystem RoadNetworkSystem RplSchedulerDebugSystem RplSchedulerDebugSystem SndSystem SndSystem

Protected Member Functions

void ThrowEvent (func eventSender, void param1=null, void param2=null, void param3=null, void param4=null, void param5=null, void param6=null, void param7=null, void param8=null, void param9=null)
void ThrowEvent (func eventSender, void param1=null, void param2=null, void param3=null, void param4=null, void param5=null, void param6=null, void param7=null, void param8=null, void param9=null)

Static Protected Member Functions

static proto bool ConnectEvent (func eventSender, func eventReceiver)
static proto bool ConnectEventFiltered (func eventSender, func eventReceiver, void filter)
static proto bool DisconnectEvent (func eventSender, func eventReceiver)
static proto bool DisconnectEventFiltered (func eventSender, func eventReceiver, void filter)
static proto bool DisconnectEvents (EventProvider provider, Managed receiver)
static proto bool ConnectEvent (func eventSender, func eventReceiver)
static proto bool ConnectEventFiltered (func eventSender, func eventReceiver, void filter)
static proto bool DisconnectEvent (func eventSender, func eventReceiver)
static proto bool DisconnectEventFiltered (func eventSender, func eventReceiver, void filter)
static proto bool DisconnectEvents (EventProvider provider, Managed receiver)

Detailed Description

Class for broadcasting events to registered receivers.

The EventProvider class defines the interface for emitting named events to compatible receiver objects. Only approved classes (such as WorldSystem and WorldController) may inherit from this class, depending on project-specific rules. In scripting environments, the class is sealed to prevent custom extensions.

Event methods must be annotated with [EventAttribute] and represent the callable events that the provider exposes. Receivers can be connected or disconnected using the ConnectEvent and DisconnectEvent APIs.

Internally, connections are managed through weak references. However, it is good practice to explicitly disconnect receivers upon destruction to avoid orphaned connections and potential memory issues.

See also
EventAttribute
Event System

Definition at line 28 of file EventProvider.c.

Member Function Documentation

◆ ConnectEvent() [1/2]

proto bool EventProvider::ConnectEvent ( func eventSender,
func eventReceiver )
staticprotected

Connects receiver callback to provider event

Parameters
eventSenderEvent method on provider
eventReceiverCallback method on receiver

◆ ConnectEvent() [2/2]

proto bool EventProvider::ConnectEvent ( func eventSender,
func eventReceiver )
staticprotected

Connects receiver callback to provider event

Parameters
eventSenderEvent method on provider
eventReceiverCallback method on receiver

◆ ConnectEventFiltered() [1/2]

proto bool EventProvider::ConnectEventFiltered ( func eventSender,
func eventReceiver,
void filter )
staticprotected

Connects receiver callback to provider event

Parameters
eventSenderEvent method on provider
eventReceiverCallback method on receiver
filterInteger or Managed, used to compare with the event's first argument

◆ ConnectEventFiltered() [2/2]

proto bool EventProvider::ConnectEventFiltered ( func eventSender,
func eventReceiver,
void filter )
staticprotected

Connects receiver callback to provider event

Parameters
eventSenderEvent method on provider
eventReceiverCallback method on receiver
filterInteger or Managed, used to compare with the event's first argument

◆ DisconnectEvent() [1/2]

proto bool EventProvider::DisconnectEvent ( func eventSender,
func eventReceiver )
staticprotected

Disconnect single event connection

Parameters
eventSenderEvent method on provider
eventReceiverCallback method on receiver

◆ DisconnectEvent() [2/2]

proto bool EventProvider::DisconnectEvent ( func eventSender,
func eventReceiver )
staticprotected

Disconnect single event connection

Parameters
eventSenderEvent method on provider
eventReceiverCallback method on receiver

◆ DisconnectEventFiltered() [1/2]

proto bool EventProvider::DisconnectEventFiltered ( func eventSender,
func eventReceiver,
void filter )
staticprotected

Disconnect single event connection. Only event connection with same filter value is removed.

Parameters
eventSenderEvent method on provider
eventReceiverCallback method on receiver
filterInteger or Managed

◆ DisconnectEventFiltered() [2/2]

proto bool EventProvider::DisconnectEventFiltered ( func eventSender,
func eventReceiver,
void filter )
staticprotected

Disconnect single event connection. Only event connection with same filter value is removed.

Parameters
eventSenderEvent method on provider
eventReceiverCallback method on receiver
filterInteger or Managed

◆ DisconnectEvents() [1/2]

proto bool EventProvider::DisconnectEvents ( EventProvider provider,
Managed receiver )
staticprotected

Disconnect all connections between provider and receiver

◆ DisconnectEvents() [2/2]

proto bool EventProvider::DisconnectEvents ( EventProvider provider,
Managed receiver )
staticprotected

Disconnect all connections between provider and receiver

◆ ThrowEvent() [1/2]

void EventProvider::ThrowEvent ( func eventSender,
void param1 = null,
void param2 = null,
void param3 = null,
void param4 = null,
void param5 = null,
void param6 = null,
void param7 = null,
void param8 = null,
void param9 = null )
protected

Emit event on provider

Parameters
eventSenderEvent method on provider

◆ ThrowEvent() [2/2]

void EventProvider::ThrowEvent ( func eventSender,
void param1 = null,
void param2 = null,
void param3 = null,
void param4 = null,
void param5 = null,
void param6 = null,
void param7 = null,
void param8 = null,
void param9 = null )
protected

Emit event on provider

Parameters
eventSenderEvent method on provider

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