EventBase

Base class for everything drained from GetEventQueue(). Dispatch on the concrete subclass (HookEvent, SequenceEvent, VariableChangedEvent, AdvanceTimeEvent, LocationChangedEvent, SkillCheckResolvedEvent, EnterSceneEvent, ProjectCompletedEvent, etc.) — see GetEventQueue()‘s example for the switch pattern.

public abstract class EventBase

Inheritance System.Object → EventBase

Derived
ActivityEvent
AdvanceTimeEvent
AudioCueEvent
DiagnosticEvent
DialogueEvent
EnterSceneEvent
HookEvent
LocationChangedEvent
ProjectCompletedEvent
ProjectCompletingErrorEvent
SceneBoundaryReachedEvent
SequenceEvent
SkillCheckResolvedEvent
StopAudioEvent
VariableChangedEvent

Properties

At

Legacy timing offset (seconds). Read-only-on-input for projects authored before v3.1.0; populate Timing instead.

public Nullable<float> At { get; }
Property Value

System.Nullable<System.Single>

Timing

Authored timing anchor describing when this event fires relative to its parent (sequence/choice-selected/activity-started/etc.). Null for unanchored events.

public EventTiming? Timing { get; }
Property Value

EventTiming

Methods

Accept(IEventQueueVisitor)

Double-dispatch hook — routes to the matching IEventQueueVisitor.Visit overload. Abstract (not virtual-with-default) so adding a new EventBase subclass is a compile error at every consumer until it adds an override here.

public abstract void Accept(IEventQueueVisitor visitor);
Parameters

visitor IEventQueueVisitor

Visitor to dispatch this event to.

Docs last synced: 2026-07-08
Screenshot viewer