10{
12
13 APawn* Pawn = nullptr;
14
15 if (AActor* OwnerActor = Cast<AActor>(Context.GetOwner()))
16 {
17 if (AAIController* Controller = Cast<AAIController>(OwnerActor))
18 {
19 Pawn = Controller->GetPawn();
20 }
21 else
22 {
23 Pawn = Cast<APawn>(OwnerActor);
24 }
25 }
26
27 if (Pawn == nullptr)
28 {
29 return;
30 }
31
32 Data.CachedPawn = Pawn;
33 Data.RetreatComponent = Pawn->FindComponentByClass<UEnemyRetreatComponent>();
34
35 if (UEnemyRetreatComponent* RetreatComponent = Data.RetreatComponent)
36 {
37 Data.AttackWait = RetreatComponent->GetAttackWait();
38 Data.RetreatDistance = RetreatComponent->GetRetreatDistance();
39 Data.RetreatSpeed = RetreatComponent->GetRetreatSpeed();
40 }
41}
FRetreatDataInstanceData FInstanceDataType
Definition Evaluator_RetreatData.h:38