#include <EQSContext_Target.h>
|
| virtual void | ProvideContext (FEnvQueryInstance &QueryInstance, FEnvQueryContextData &ContextData) const override |
| |
◆ ProvideContext()
| void UEQSContext_Target::ProvideContext |
( |
FEnvQueryInstance & |
QueryInstance, |
|
|
FEnvQueryContextData & |
ContextData |
|
) |
| const |
|
overridevirtual |
14{
15 Super::ProvideContext(QueryInstance, ContextData);
16
17 AActor* TargetActor = nullptr;
18 AActor* QueryOwner = Cast<AActor>(QueryInstance.Owner.Get());
19
20 if (QueryOwner)
21 {
22 if (UWorld* World = QueryOwner->GetWorld())
23 {
24 TargetActor = UGameplayStatics::GetPlayerCharacter(World, 0);
25 if (!TargetActor && !World->IsGameWorld())
26 {
27 TargetActor = UGameplayStatics::GetActorOfClass(World, AMainPlayerCharacter::StaticClass());
28 }
29 }
30 }
31
32 if (TargetActor)
33 {
34 UEnvQueryItemType_Actor::SetContextHelper(ContextData, TargetActor);
35 }
36}
이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: