🎭 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:

  1. Triggered: The event is created but not yet built.
  2. Initialized: Variables are assigned and the event is ready.
  3. Started: Logic begins (OnEventStarted).
  4. Processing: The event is active (OnEventProcessing).
  5. 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();