π Gorgeous Events Overview
Short Description
Gorgeous Events is a sophisticated state-machine driven framework for managing complex gameplay sequences, narrative events, and automated tasks.
Long Description
Gorgeous Events provides a structured way to handle multi-step logic. Instead of sprawling Blueprint graphs or complex C++ ticking, you define UGorgeousEvent classes with clear lifecycle stages. The system handles construction, variable assignment, dependency tracking (voiding), and hierarchical execution automatically.
π The Lifecycle
Every event follows a deterministic state machine:
- Triggered: The event is created but not yet built.
- Initialized: Variables are assigned and the event is ready.
- Started: Logic begins (
OnEventStarted). - Processing: The event is active (
OnEventProcessing). - Finished: All logic and dependencies are complete.
ποΈ Construction & Mapping
Events are built using Construction Handles and Assignment Mappers. This allows you to "pre-fill" event variables before the event even exists, ensuring a safe and predictable initialization.
π Sub-Documents
| Topic | Description |
|---|---|
| Technical Deep-Dive | Lifecycle details, state machine, and Mermaid diagrams. |
| Construction | How to use handles and mappers to build events. |
| Events | Detailed look at the UGorgeousEvent class and actions. |
| Interfaces | Subsystem APIs for managing the event ecosystem. |
| Voiding | Automatic dependency management and pausing. |
| Flow Tree | Node-based sequencing for complex narratives. |
π Example: Triggering a Simple Event
// 1. Get the handle
UGorgeousConstructionHandle* Handle = EventSubsystem->CreateConstructionHandle(MyEventClass);
// 2. Map some data
Handle->GetMapper()->SetFloat("Duration", 5.0f);
// 3. Build and Start
UGorgeousEvent* Event = Handle->Build();
Event->StartEvent();