voxelwaterpulse.Verbose

v2.0
View as Markdown

voxelwaterpulse.Verbose belongs to the VoxelWaterPulse runtime module.

Exercitation lorem ipsum commodo veniam sed nulla ex esse ea et sed consequat minim aliquip. Magna esse exercitation in occaecat nisi quis excepteur sit dolor consectetur. Eiusmod amet velit aliqua lorem nostrud lorem magna veniam labore.

Declaration

 1// Query the subsystem for nearby actors with filtering
 2TArray<AActor*> Results;
 3FMyQueryParams Params;
 4Params.Origin = GetActorLocation();
 5Params.Radius = 1000.0f;
 6Params.MaxResults = 10;
 7Params.bIncludeHidden = false;
 8Params.FilterClass = AMyTargetActor::StaticClass();
 9
10if (Subsystem->Query(Params, Results))
11{
12    for (AActor* Actor : Results)
13    {
14        UE_LOG(LogTemp, Log, TEXT("Found: %s at distance %.1f"),
15            *Actor->GetName(),
16            FVector::Dist(Params.Origin, Actor->GetActorLocation()));
17    }
18}

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    FVoxelWaterPulseBasicTest,
 4    "VoxelWaterPulse.Core.BasicFunctionality",
 5    EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::ProductFilter
 6)
 7
 8bool FVoxelWaterPulseBasicTest::RunTest(const FString& Parameters)
 9{
10    UVoxelWaterPulseSubsystem* Subsystem = NewObject<UVoxelWaterPulseSubsystem>();
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}

Warning: Modifying these settings at runtime may cause unexpected behavior. Always set configuration before calling Initialize().