22{
24 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Behaviors);
25 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Tasks);
26 UBlackboardComponent* BlackboardComp = OwnerComp.GetBlackboardComponent();
27 if(BlackboardComp != nullptr)
28 {
29 AActor* TargetActor = Cast<AActor>(BlackboardComp->GetValueAsObject(
TargetEnemy.SelectedKeyName));
30 if(TargetActor != nullptr && OwnerComp.GetAIOwner() != nullptr)
31 {
33 if(AIActions != nullptr)
34 {
35
38 {
40 }
41 const UNavigationSystemV1* NavSystem = UNavigationSystemV1::GetNavigationSystem(OwnerComp.GetAIOwner());
42 if(NavSystem != nullptr)
43 {
45 const bool bFoundPoint = NavSystem->GetRandomReachablePointInRadius(
Location,
Radius, RandomPoint);
46 if(bFoundPoint)
47 {
49 {
51 }
53 return EBTNodeResult::Succeeded;
54 }
56 return EBTNodeResult::Succeeded;
57 }
58 }
59 }
60 }
62 {
64 }
65 return EBTNodeResult::Failed;
66}
Definition AIActionsInterface.h:20
virtual FVector GetLastKnownLocation(AActor *TargetActor, const TArray< EAISense > &Senses)=0
float Thickness
Definition BTT_GetLastKnownLocation.h:41
FColor LocationInRadiusColor
Definition BTT_GetLastKnownLocation.h:39
TArray< EAISense > SensesToUse
Definition BTT_GetLastKnownLocation.h:30
FBlackboardKeySelector MoveTargetLocation
Definition BTT_GetLastKnownLocation.h:28
FColor LocationColor
Definition BTT_GetLastKnownLocation.h:37
bool bDebuggingMode
Definition BTT_GetLastKnownLocation.h:33
float Radius
Definition BTT_GetLastKnownLocation.h:23
float Extent
Definition BTT_GetLastKnownLocation.h:35
FBlackboardKeySelector TargetEnemy
Definition BTT_GetLastKnownLocation.h:26
virtual EBTNodeResult::Type ExecuteTask(UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory) override
Definition BTT_GetLastKnownLocation.cpp:21
static void PrintToLog(const UObject *WorldContextObject, const FString &Message, const bool bWarning=false, const bool bError=false)
Definition BaseHelpersBPLib.cpp:98