EQuestSystemMode

v1.0
View as Markdown

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}