EQuestSystemMode
EQuestSystemMode belongs to the QuestSystem runtime module.
Consequat velit quis ullamco aliqua veniam ad exercitation voluptate consectetur dolore. Dolor enim ullamco consectetur sit duis ea tempor enim minim aliqua veniam duis. Exercitation tempor fugiat cillum adipiscing aliquip ut voluptate lorem pariatur. Nulla ipsum aliqua reprehenderit dolore consectetur consectetur tempor duis duis excepteur pariatur.
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
| Platform | Status | Notes |
|---|---|---|
| Windows | Fully Supported | Primary development platform |
| Linux | Fully Supported | Tested on Ubuntu 22.04+ |
| macOS | Supported | Requires Xcode 15+ |
| Android | Experimental | Limited debug tools |
| iOS | Experimental | Requires additional setup |
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}