UQuestSystemAsyncAction

v2.0
View as Markdown

UQuestSystemAsyncAction belongs to the QuestSystem runtime module.

Ad velit ea veniam sint aliqua velit adipiscing velit ad. Tempor labore velit occaecat ex in commodo veniam laboris lorem aute tempor. Duis do quis magna laboris laboris laboris dolore dolore adipiscing commodo aliquip ipsum ut. Consequat exercitation nostrud pariatur elit ex do occaecat. Nulla duis voluptate irure consequat voluptate duis ad amet. Nisi pariatur ea magna nisi nulla laboris aliquip ea amet.

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#include "QuestSystem.h"
 2#include "Engine/World.h"
 3
 4void AMyActor::BeginPlay()
 5{
 6    Super::BeginPlay();
 7
 8    UQuestSystemSubsystem* Subsystem = GetWorld()->GetSubsystem<UQuestSystemSubsystem>();
 9    if (Subsystem)
10    {
11        Subsystem->Initialize();
12        UE_LOG(LogTemp, Log, TEXT("Plugin subsystem initialized successfully"));
13    }
14}