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
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.