UQuestSystemInputComponent
UQuestSystemInputComponent belongs to the QuestSystem runtime module.
Esse sint esse aute amet elit elit aliqua. Elit reprehenderit ut reprehenderit sit sint dolor adipiscing magna magna. Commodo labore reprehenderit in lorem velit veniam eiusmod quis adipiscing. Laboris enim ullamco consectetur aliqua pariatur pariatur voluptate occaecat quis ipsum nulla.
Declaration
1// Unit test example
2IMPLEMENT_SIMPLE_AUTOMATION_TEST(
3 FQuestSystemBasicTest,
4 "QuestSystem.Core.BasicFunctionality",
5 EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::ProductFilter
6)
7
8bool FQuestSystemBasicTest::RunTest(const FString& Parameters)
9{
10 UQuestSystemSubsystem* Subsystem = NewObject<UQuestSystemSubsystem>();
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}
Members
| Parameter | Type | Default | Description |
|---|---|---|---|
| MaxPoolSize | int32 | 100 | Maximum number of pooled objects |
| TickRate | float | 60.0 | Update frequency in Hz |
| bAutoActivate | bool | true | Activate on BeginPlay |
| LogVerbosity | ELogVerbosity | Warning | Minimum log level |
| ReplicationMode | ERepMode | Reliable | Network replication strategy |
Example
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}