Enfusion Script API
Loading...
Searching...
No Matches
EventProvider Interface Reference

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

Inheritance diagram for EventProvider:
ScriptAndConfig Managed WorldController WorldSystem DialogueController PlayerNameInputController RplSchedulerDebugController AnimationPlayerSystem ConfigurableSystem DialogueSystem GameMode HelloWorldSystem MultiPointSystem NearbyEntitiesSystem ParticleEffectsSystem PawnEntitySystem PlayerNameInputSystem RplSchedulerDebugSystem SndSystem TestWorldSystem

Static Public Member Functions

static proto bool ConnectEvent (func eventSender, func eventReceiver)
 Connects receiver callback to provider event.
 
static proto bool ConnectEventFiltered (func eventSender, func eventReceiver, void filter)
 Connects receiver callback to provider event.
 
static proto bool DisconnectEvent (func eventSender, func eventReceiver)
 Disconnect single event connection.
 
static proto bool DisconnectEventFiltered (func eventSender, func eventReceiver, void filter)
 Disconnect single event connection.
 
static proto bool DisconnectEvents (EventProvider provider, Managed receiver)
 Disconnect all connections between provider and receiver.
 

Protected Member Functions

proto external 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)
 Emit event on provider.
 

Additional Inherited Members

- Public Member Functions inherited from Managed
proto external ref Managed Clone ()
 Return shallow copy of object, or null if it is not allowed (not public constructor)
 

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

Member Function Documentation

◆ ConnectEvent()

static proto bool EventProvider.ConnectEvent ( func eventSender,
func eventReceiver )
static

Connects receiver callback to provider event.

Parameters
eventSenderEvent method on provider
eventReceiverCallback method on receiver

◆ ConnectEventFiltered()

static proto bool EventProvider.ConnectEventFiltered ( func eventSender,
func eventReceiver,
void filter )
static

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()

static proto bool EventProvider.DisconnectEvent ( func eventSender,
func eventReceiver )
static

Disconnect single event connection.

Parameters
eventSenderEvent method on provider
eventReceiverCallback method on receiver

◆ DisconnectEventFiltered()

static proto bool EventProvider.DisconnectEventFiltered ( func eventSender,
func eventReceiver,
void filter )
static

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()

static proto bool EventProvider.DisconnectEvents ( EventProvider provider,
Managed receiver )
static

Disconnect all connections between provider and receiver.

◆ ThrowEvent()

proto external 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 interface was generated from the following file: