πŸ”Œ Event Interfaces

Gorgeous Events utilizes an interface-driven architecture to provide modular functionality. These interfaces are accessible via the UGorgeousEvents_GIS subsystem and provide the backbone for event management, construction, and dependency handling.

πŸ•ΉοΈ Event Management

The UGorgeousEventManagingInterface is responsible for the core lifecycle of events.

GetEventManagingInterface

Returns the active registered event managing interface instance.
Parameter Name Type Description
ReturnValue UGorgeousEventManagingInterface* The current instance.

LoadEvent

Loads an event class asynchronously.
Parameter Name Type Description
EventToLoad TSoftClassPtr<UGorgeousEvent> The soft reference to the event class.
OnEventLoaded FOnEventLoaded Delegate called on completion.

RegisterEvent

Registers an event using a construction handle without immediately triggering it.
Parameter Name Type Description
ConstructionHandle UGorgeousConstructionHandle* The handle containing configuration.
Parameter Name Type Description
RegisteredEvent UGorgeousEvent* The created event instance.
ReturnValue bool True if successful.

TriggerEvent

Registers and immediately triggers an event.
Parameter Name Type Description
ConstructionHandle UGorgeousConstructionHandle* The handle containing configuration.
Parameter Name Type Description
TriggeredEvent UGorgeousEvent* The created and triggered event instance.
ReturnValue bool True if successful.

CancelEvent

Cancels a currently registered event, stopping its execution.
Parameter Name Type Description
EventToCancel UGorgeousEvent* The event instance to stop.
Parameter Name Type Description
ReturnValue bool True if successful.

CompleteEvent

Attempts to complete a currently registered event.
Parameter Name Type Description
EventToComplete UGorgeousEvent* The event instance to complete.
Parameter Name Type Description
ReturnValue bool True if successful.

IsEventRegistered

Checks if a specific event is currently in the active registry.
Parameter Name Type Description
EventToCheck UGorgeousEvent* The event instance.
Parameter Name Type Description
ReturnValue bool True if registered.

πŸ—οΈ Construction & Handles

The UGorgeousEventConstructionInterface manages the early lifecycle phase where events are configured.

CreateConstructionHandle

Creates a new handle for event construction.
Parameter Name Type Description
EventClass TSubclassOf<UGorgeousEvent> The class of the event to build.
Outer UObject* The owner of the handle.
Parameter Name Type Description
ReturnValue UGorgeousConstructionHandle* The new handle.

InstantiateEvent

Instantiates the actual event object from a handle.
Parameter Name Type Description
Handle UGorgeousConstructionHandle* The handle to use.
Parameter Name Type Description
ReturnValue UGorgeousEvent* The created event.

πŸ”’ Locking & Freezing

Interfaces for controlling the execution flow of events.

πŸ” Locking (UGorgeousEventLockingInterface)

Locks prevent an event from finishing until they are released.

Function Type Description
LockEvent Callable Locks a specific event.
UnlockEvent Callable Unlocks a specific event.
IsEventLocked Pure Returns true if the event is currently locked.

❄️ Freezing (UGorgeousEventFreezingInterface)

Freezing pauses the processing logic of events.

Function Type Description
FreezeEvent Callable Freezes a specific event.
UnfreezeEvent Callable Unfreezes a specific event.
IsEventFrozen Pure Returns true if the event is currently frozen.
FreezeAllEvents Callable Freezes all events (with optional new/nested filters).
UnfreezeAllEvents Callable Unfreezes all events.
AreAllEventsFrozen Pure Returns true if the global freeze state is active.

⚑ Event Actions

The UGorgeousEventActionsInterface manages modular behavior components attached to events.

ExecuteAction

Starts the execution of a named action on an event.
Parameter Name Type Description
Event UGorgeousEvent* The target event.
ActionName FName The name of the action to start.

CompleteAction

Signals that a specific action has finished its logic.
Parameter Name Type Description
Event UGorgeousEvent* The target event.
ActionName FName The name of the action to finish.

IsActionRunning

Checks if a specific named action is currently in its processing state.
Parameter Name Type Description
Event const UGorgeousEvent* The target event.
ActionName FName The name of the action.
Parameter Name Type Description
ReturnValue bool True if running.

IsAnyActionRunning

Checks if any action is currently executing on the target event.
Parameter Name Type Description
Event const UGorgeousEvent* The target event.
Parameter Name Type Description
ReturnValue bool True if at least one action is running.

DoesActionExist

Verifies if a specific action is registered on the event.
Parameter Name Type Description
Event UGorgeousEvent* The target event.
ActionName FName The name of the action.
Parameter Name Type Description
ReturnValue bool True if the action exists.

πŸ›‘οΈ Voiding System

The UGorgeousEventVoidingInterface handles the resolution of blocked events.

VoidEvent

Manually voids an event with a specific context.
Parameter Name Type Description
EventToVoid UGorgeousEvent* The event instance.
VoidingContext TSubclassOf<UGorgeousEventVoidingContext> The logic for unvoiding.

UnvoidEvent

Releases an event from its voided state.
Parameter Name Type Description
EventToUnvoid UGorgeousEvent* The event instance.
bRegisterAgain bool If true, the event is returned to the active registry.

IsEventVoided

Checks if a specific event is currently in the voided pool.
Parameter Name Type Description
EventToCheck UGorgeousEvent* The event instance.
Parameter Name Type Description
ReturnValue bool True if voided.