EVoxelCameraState

v2.0
View as Markdown

EVoxelCameraState belongs to the VoxelCamera runtime module.

Sit ad irure nisi labore eiusmod minim laboris lorem fugiat minim ad fugiat nostrud labore. In fugiat occaecat ex lorem reprehenderit consequat veniam consequat voluptate. Cillum ea lorem incididunt minim ad minim velit amet nisi aute aliqua cillum ex. Nulla consequat nulla commodo aliqua velit laboris in. Ut magna amet magna voluptate esse ut exercitation duis aute. Velit esse fugiat esse minim laboris reprehenderit sint nostrud veniam et.

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// Unit test example
 2IMPLEMENT_SIMPLE_AUTOMATION_TEST(
 3    FVoxelCameraBasicTest,
 4    "VoxelCamera.Core.BasicFunctionality",
 5    EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::ProductFilter
 6)
 7
 8bool FVoxelCameraBasicTest::RunTest(const FString& Parameters)
 9{
10    UVoxelCameraSubsystem* Subsystem = NewObject<UVoxelCameraSubsystem>();
11    TestNotNull(TEXT("Subsystem should be created"), Subsystem);
12
13    Subsystem->Initialize();
14    TestTrue(TEXT("Subsystem should be initialized"), Subsystem->IsInitialized());
15
16    FMyQueryParams Params;
17    Params.Radius = 500.0f;
18    TestTrue(TEXT("Query params should be valid"), Params.IsValid());
19
20    return true;
21}