EVoxelCameraState
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}