UCorePhysicsEdgeWorldSubsystem
UCorePhysicsEdgeWorldSubsystem belongs to the CorePhysicsEdge runtime module.
Sit labore voluptate nulla incididunt amet velit nulla commodo. Duis veniam aliqua aliquip elit ex voluptate in pariatur veniam dolor in labore. Ut consectetur sint in quis laboris minim sed velit pariatur aliquip nostrud ex enim. Nisi excepteur dolore adipiscing eiusmod ex fugiat nulla fugiat nisi ex ea incididunt occaecat do. Duis excepteur cillum amet nulla sit velit quis sed ad enim ex nisi labore. Exercitation sit incididunt aliqua ipsum aliquip excepteur dolor eiusmod ut esse aliquip ad enim elit.
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 FCorePhysicsEdgeBasicTest,
4 "CorePhysicsEdge.Core.BasicFunctionality",
5 EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::ProductFilter
6)
7
8bool FCorePhysicsEdgeBasicTest::RunTest(const FString& Parameters)
9{
10 UCorePhysicsEdgeSubsystem* Subsystem = NewObject<UCorePhysicsEdgeSubsystem>();
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}