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

#include <BTD_IsFocused.h>

Inheritance diagram for UBTD_IsFocused:

Public Member Functions

 UBTD_IsFocused ()
 

Protected Member Functions

virtual FString GetStaticDescription () const override
 
virtual bool CalculateRawConditionValue (UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory) const override
 

Protected Attributes

FBlackboardKeySelector TargetActor
 
bool bHasAnyFocus = false
 

Constructor & Destructor Documentation

◆ UBTD_IsFocused()

UBTD_IsFocused::UBTD_IsFocused ( )
10{
11 NodeName = TEXT("Check Focus");
12
13}

Member Function Documentation

◆ CalculateRawConditionValue()

bool UBTD_IsFocused::CalculateRawConditionValue ( UBehaviorTreeComponent & OwnerComp,
uint8 * NodeMemory ) const
overrideprotectedvirtual
44{
45 if(OwnerComp.GetAIOwner() == nullptr || OwnerComp.GetAIOwner()->GetPawn() == nullptr){return false;}
46 if(bHasAnyFocus)
47 {
48 return OwnerComp.GetAIOwner()->GetFocusActor() != nullptr;
49 }
50 const UBlackboardComponent* BlackboardComp = OwnerComp.GetBlackboardComponent();
51 if(BlackboardComp != nullptr)
52 {
53 //- Try Get key as an Actor //
54 const AActor* ActorObject = Cast<AActor>(BlackboardComp->GetValueAsObject(TargetActor.SelectedKeyName));
55 if(ActorObject != nullptr)
56 {
57 return OwnerComp.GetAIOwner()->GetFocusActor() == ActorObject;
58 }
59 }
60 return false;
61}
FBlackboardKeySelector TargetActor
Definition BTD_IsFocused.h:31
bool bHasAnyFocus
Definition BTD_IsFocused.h:33

◆ GetStaticDescription()

FString UBTD_IsFocused::GetStaticDescription ( ) const
overrideprotectedvirtual
16{
17 FString Description;
18 if(bHasAnyFocus)
19 {
20 Description += FString::Printf(TEXT("\nCheck Focused on Anything"));
21 }
22 else
23 {
24 Description += FString::Printf(TEXT("\nCheck Focused on:"));
25 if(TargetActor.SelectedKeyName.IsValid())
26 {
27 Description += FString::Printf(TEXT("\nTarget Actor: %s"), *TargetActor.SelectedKeyName.ToString());
28 }
29 else
30 {
31 Description += TEXT("\nTarget Actor: None");
32 }
33 }
34 return Description;
35}

Member Data Documentation

◆ bHasAnyFocus

bool UBTD_IsFocused::bHasAnyFocus = false
protected

◆ TargetActor

FBlackboardKeySelector UBTD_IsFocused::TargetActor
protected

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