Space Plunder
Loading...
Searching...
No Matches
UBTService_SelectTargetEnemy Class Reference

#include <BTService_SelectTargetEnemy.h>

Inheritance diagram for UBTService_SelectTargetEnemy:

Classes

struct  FBTTaskSelectTargetMemory
 

Public Member Functions

 UBTService_SelectTargetEnemy ()
 

Protected Member Functions

virtual void TickNode (UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory, float DeltaSeconds) override
 
virtual FString GetStaticDescription () const override
 

Protected Attributes

bool bResetIfNoneFound = true
 
FBlackboardKeySelector TargetEnemy
 
FBlackboardKeySelector bSomethingInTheWay
 
bool bDebuggingMode = false
 
bool bDebugAllEnemies = true
 
float PointSize = 20.0f
 
FColor EnemyPointColor = FColor::Yellow
 
FColor TargetPointColor = FColor::Red
 

Constructor & Destructor Documentation

◆ UBTService_SelectTargetEnemy()

UBTService_SelectTargetEnemy::UBTService_SelectTargetEnemy ( )
16{
17 NodeName = TEXT("Select Target Enemy");
18 INIT_SERVICE_NODE_NOTIFY_FLAGS();
19
20#if WITH_EDITOR
21 bDebuggingMode = true;
22#endif // WITH_EDITOR
23
24}
bool bDebuggingMode
Definition BTService_SelectTargetEnemy.h:37

Member Function Documentation

◆ GetStaticDescription()

FString UBTService_SelectTargetEnemy::GetStaticDescription ( ) const
overrideprotectedvirtual
58{
59 FString Description;
61 {
62 Description += FString::Printf(TEXT("\n DEBUG ACTIVE"));
63 }
64 if(TargetEnemy.SelectedKeyName.IsValid())
65 {
66 Description += FString::Printf(TEXT("\nTarget Object: %s"), *TargetEnemy.SelectedKeyName.ToString());
67 }
68 else
69 {
70 Description += TEXT("\nTarget Object: None");
71 }
72
73 Description += FString::Printf(TEXT("\nbReset If None Found: %s"), bResetIfNoneFound ? TEXT("True") : TEXT("False"));
74 return Description;
75}
FBlackboardKeySelector TargetEnemy
Definition BTService_SelectTargetEnemy.h:32
bool bResetIfNoneFound
Definition BTService_SelectTargetEnemy.h:29

◆ TickNode()

void UBTService_SelectTargetEnemy::TickNode ( UBehaviorTreeComponent & OwnerComp,
uint8 * NodeMemory,
float DeltaSeconds )
overrideprotectedvirtual
27{
28 TRACE_CPUPROFILER_EVENT_SCOPE(UBTService_SelectTargetEnemy::TickNode);
29 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Behaviors);
30 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Services);
31
32 Super::TickNode(OwnerComp, NodeMemory, DeltaSeconds);
33 FBTTaskSelectTargetMemory* SelectTargetMemory = reinterpret_cast<FBTTaskSelectTargetMemory*>(NodeMemory);
34 if(SelectTargetMemory == nullptr){return;}
35
36 const IAIActionsInterface* AIActions = Cast<IAIActionsInterface>(OwnerComp.GetAIOwner());
37
38 SelectTargetMemory->BestHostile = nullptr;
39 if(AIActions != nullptr)
40 {
41 //@TODO Move Logic to This Node //
42 SelectTargetMemory->BestHostile = AIActions->GetBestHostileActor();
43 //@TODO Should check Hostiles still percived
44 // AIActions->
45 }
46 UBlackboardComponent* BlackboardComp = OwnerComp.GetBlackboardComponent();
47 if(BlackboardComp != nullptr )
48 {
49 //- Don't remove previous target if none is found //
50 if(SelectTargetMemory->BestHostile != nullptr || bResetIfNoneFound)
51 {
52 BlackboardComp->SetValueAsObject(TargetEnemy.SelectedKeyName, SelectTargetMemory->BestHostile);
53 }
54 }
55}
Definition AIActionsInterface.h:20
virtual AActor * GetBestHostileActor() const =0
virtual void TickNode(UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory, float DeltaSeconds) override
Definition BTService_SelectTargetEnemy.cpp:26

Member Data Documentation

◆ bDebugAllEnemies

bool UBTService_SelectTargetEnemy::bDebugAllEnemies = true
protected

◆ bDebuggingMode

bool UBTService_SelectTargetEnemy::bDebuggingMode = false
protected

◆ bResetIfNoneFound

bool UBTService_SelectTargetEnemy::bResetIfNoneFound = true
protected

◆ bSomethingInTheWay

FBlackboardKeySelector UBTService_SelectTargetEnemy::bSomethingInTheWay
protected

◆ EnemyPointColor

FColor UBTService_SelectTargetEnemy::EnemyPointColor = FColor::Yellow
protected

◆ PointSize

float UBTService_SelectTargetEnemy::PointSize = 20.0f
protected

◆ TargetEnemy

FBlackboardKeySelector UBTService_SelectTargetEnemy::TargetEnemy
protected

◆ TargetPointColor

FColor UBTService_SelectTargetEnemy::TargetPointColor = FColor::Red
protected

The documentation for this class was generated from the following files: