24{
26 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Behaviors);
27 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Services);
28 Super::TickNode(OwnerComp, NodeMemory, DeltaSeconds);
30
31
32
33 const UBlackboardComponent* BlackboardComp = OwnerComp.GetBlackboardComponent();
34 if(BlackboardComp == nullptr){return;}
35 AAIController* AIController = OwnerComp.GetAIOwner();
36 if(AIController == nullptr){return;}
37 UObject* TargetObject = BlackboardComp->GetValueAsObject(
Target.SelectedKeyName);
38 if(TargetObject != nullptr)
39 {
40 AActor* TargetActor = Cast<AActor>(TargetObject);
41 if(TargetActor == nullptr){return;}
43
44
45
46
47
48
49
50
51
52 }
53 else
54 {
55 AIController->SetFocalPoint(BlackboardComp->GetValueAsVector(
Target.SelectedKeyName));
57 {
58 const FVector StartLocation = AIController->GetPawn()->GetPawnViewLocation();
59 const FVector EndLocation = BlackboardComp->GetValueAsVector(
Target.SelectedKeyName);
62 }
63 }
64
65
66
67
68
69
70
71
72
73
74
75
76
77}
virtual void TickNode(UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory, const float DeltaSeconds) override
Definition BTService_SetFocus.cpp:23
bool bDoOnce
Definition BTService_SetFocus.h:23