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

#include <BTTask_Reload.h>

Inheritance diagram for UBTTask_Reload:

Classes

struct  FBTTaskReloadMemory
 

Public Member Functions

 UBTTask_Reload ()
 
virtual EBTNodeResult::Type ExecuteTask (UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory) override
 
virtual EBTNodeResult::Type AbortTask (UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory) override
 
virtual void TickTask (UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory, float DeltaSeconds) override
 
virtual uint16 GetInstanceMemorySize () const override
 

Private Member Functions

virtual FString GetStaticDescription () const override
 

Detailed Description

The UBTTask_Reload class is derived from UBTTaskNode and is used as a task node in behavior trees for reloading actions.

Constructor & Destructor Documentation

◆ UBTTask_Reload()

UBTTask_Reload::UBTTask_Reload ( )
13{
14 NodeName = TEXT("Reload");
15 INIT_TASK_NODE_NOTIFY_FLAGS();
16}

Member Function Documentation

◆ AbortTask()

EBTNodeResult::Type UBTTask_Reload::AbortTask ( UBehaviorTreeComponent & OwnerComp,
uint8 * NodeMemory )
overridevirtual
35{
36 return EBTNodeResult::Aborted;
37}

◆ ExecuteTask()

EBTNodeResult::Type UBTTask_Reload::ExecuteTask ( UBehaviorTreeComponent & OwnerComp,
uint8 * NodeMemory )
overridevirtual
19{
20 TRACE_CPUPROFILER_EVENT_SCOPE(UBTTask_Reload::ExecuteTask);
21 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Behaviors);
22 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Tasks);
23 FBTTaskReloadMemory* ReloadMemory = reinterpret_cast<FBTTaskReloadMemory*>(NodeMemory);
24 if(ReloadMemory == nullptr){return EBTNodeResult::Failed;}
25 ReloadMemory->StartTime = GetWorld()->GetTimeSeconds();
26 IAIActionsInterface* AIActions = Cast<IAIActionsInterface>(OwnerComp.GetAIOwner());
27 if(AIActions != nullptr)
28 {
29 ReloadMemory->DelayDuration = AIActions->Reload();
30 }
31 return EBTNodeResult::InProgress;
32}
Definition AIActionsInterface.h:20
virtual float Reload()=0
virtual EBTNodeResult::Type ExecuteTask(UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory) override
Definition BTTask_Reload.cpp:18

◆ GetInstanceMemorySize()

uint16 UBTTask_Reload::GetInstanceMemorySize ( ) const
overridevirtual
53{
54 return sizeof(FBTTaskReloadMemory);
55}

◆ GetStaticDescription()

FString UBTTask_Reload::GetStaticDescription ( ) const
overrideprivatevirtual
58{
59 FString Description;
60 return Description;
61}

◆ TickTask()

void UBTTask_Reload::TickTask ( UBehaviorTreeComponent & OwnerComp,
uint8 * NodeMemory,
float DeltaSeconds )
overridevirtual
40{
41 TRACE_CPUPROFILER_EVENT_SCOPE(UBTTask_Reload::TickTask);
42 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Behaviors);
43 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Tasks);
44 const FBTTaskReloadMemory* ReloadMemory = reinterpret_cast<FBTTaskReloadMemory*>(NodeMemory);
45 if(ReloadMemory == nullptr){FinishLatentTask(OwnerComp, EBTNodeResult::Failed);}
46 if(GetWorld()->GetTimeSeconds() - ReloadMemory->StartTime >= ReloadMemory->DelayDuration)
47 {
48 FinishLatentTask(OwnerComp, EBTNodeResult::Succeeded);
49 }
50}
virtual void TickTask(UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory, float DeltaSeconds) override
Definition BTTask_Reload.cpp:39

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