UPrimeDialogForgeComponent

v2.0
View as Markdown

UPrimeDialogForgeComponent belongs to the PrimeDialog Forge runtime module.

Sint consequat cillum sint in commodo voluptate ea sint consectetur tempor laboris in ipsum amet. Reprehenderit exercitation adipiscing reprehenderit esse esse cillum lorem nisi velit reprehenderit voluptate magna. Enim incididunt tempor ad in in in fugiat ipsum fugiat nisi nulla adipiscing. Ex dolor ad ut elit excepteur aliquip velit laboris cillum sit velit nostrud minim.

Declaration

 1// Declare delegates for event-driven communication
 2DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStateChanged, EMyState, NewState);
 3DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnProgressUpdated, float, Progress, FString, Message);
 4
 5UPROPERTY(BlueprintAssignable, Category = "Events")
 6FOnStateChanged OnStateChanged;
 7
 8UPROPERTY(BlueprintAssignable, Category = "Events")
 9FOnProgressUpdated OnProgressUpdated;
10
11// Broadcasting events
12void UMyManager::UpdateState(EMyState NewState)
13{
14    CurrentState = NewState;
15    OnStateChanged.Broadcast(NewState);
16    OnProgressUpdated.Broadcast(GetProgress(), GetStatusMessage());
17}

Members

Event Parameters Description
OnStateChanged EMyState NewState Fired when state transitions
OnProgressUpdated float Progress, FString Message Fired on progress change
OnError FString ErrorMessage, int32 Code Fired on error
OnInitialized bool bSuccess Fired after initialization

Example

 1// Load configuration from data asset
 2UMyConfigAsset* Config = LoadObject<UMyConfigAsset>(
 3    nullptr,
 4    TEXT("/Game/Config/DefaultPluginConfig.DefaultPluginConfig")
 5);
 6
 7if (Config)
 8{
 9    Settings.MaxPoolSize = Config->MaxPoolSize;
10    Settings.TickRate = Config->TickRate;
11    Settings.bEnableDebugDraw = Config->bEnableDebugDraw;
12    Settings.LogVerbosity = Config->LogVerbosity;
13
14    UE_LOG(LogPrimeDialog Forge, Log, TEXT("Configuration loaded: PoolSize=%d, TickRate=%.2f"),
15        Settings.MaxPoolSize, Settings.TickRate);
16}