EventSheetManager

Ashley's avatar
Medal
Construct Team Founder
Published 2 Jul, 2018
246 words
~1-2 mins

The EventSheetManager class manages everything in the runtime relating to the event system. Generally any runtime calls relating to events will be made using EventSheetManager, although the Runtime class provides some shorthand methods. The EventSheetManager is typically accessed via the runtime GetEventSheetManager() method.

Many methods are only relevant to call in condition, action or expression methods of an addon, such as retrieving the current event. When not running events, methods relating to the events being executed do not apply and may throw exceptions.

Methods

GetRuntime()

Return the associated Runtime.

GetEventStack()

Return the EventStack representing the current execution stack in the event system.

GetCurrentEventStackFrame()

Return the current EventStackFrame, representing the current execution context in the event system. This is a shorthand for GetEventStack().GetCurrentStackFrame().

GetCurrentEvent()

Return the current EventBlock being executed. This is a shorthand for GetCurrentEventStackFrame().GetCurrentEvent().

IsInTrigger()

True if execution is currently within a triggered event.

ClearSol(objectClasses)

For each ObjectClass in the given array, reset the selected object list (SOL) back to "all picked" state.

PushCleanSol(objectClasses)

PushCopySol(objectClasses)

For each ObjectClass in the given array, push a new selected object list (SOL) to the SOL stack. PushCleanSol pushes cleared SOLs in the "all picked" state, whereas PushCopySol pushes a copy of the top SOL. These methods are necessary when retriggering events. Every pushed SOL must have a corresponding PopSol call.

PopSol(objectClasses)

For each ObjectClass in the given array, pop the top SOL on the SOL stack. This must be called after PushCleanSol or PushCopySol.