13#include "BehaviorTreeComponent.generated.h"
15class FBehaviorTreeDebugger;
110 AIMODULE_API virtual void SetComponentTickEnabled(
bool bEnabled)
override;
115 AIMODULE_API virtual void StopLogic(
const FString& Reason)
override;
116 AIMODULE_API virtual void PauseLogic(
const FString& Reason)
override;
160 UE_DEPRECATED(5.0,
"This function is deprecated. Please use RequestBranchDeactivation instead.")
227 const
UBTNode* GetActiveNode() const;
230 uint16 GetActiveInstanceIdx() const;
236 bool IsRestartPending() const;
239 bool IsAbortPending() const;
249 bool IsInstanceStackEmpty()
const
251 return (InstanceStack.Num() == 0);
257 return AccumulatedTickDeltaTime;
263 AIMODULE_API virtual FString GetDebugInfoString()
const override;
264 AIMODULE_API virtual FString DescribeActiveTasks()
const;
265 AIMODULE_API virtual FString DescribeActiveTrees()
const;
268 UFUNCTION(BlueprintCallable, Category =
"AI|Logic")
272 UFUNCTION(BlueprintCallable, Category = "AI|Logic")
273 AIMODULE_API void AddCooldownTagDuration(
FGameplayTag CooldownTag,
float CooldownDuration,
bool bAddToExistingDuration);
276 UFUNCTION(BlueprintCallable, Category="AI|Logic")
288#if !UE_BUILD_SHIPPING
296#if CSV_PROFILER_STATS
357#if USE_BEHAVIORTREE_DEBUGGER
372#if !UE_BUILD_SHIPPING
425 UE_DEPRECATED(5.4,
"This function is deprecated. Please use ApplyAllSearchUpdates instead.")
509 UE_DEPRECATED(5.1, "This
function is deprecated. Please use SuspendBranchActions
instead.")
510 void SuspendBranchDeactivation() { SuspendBranchActions(); }
512 UE_DEPRECATED(5.1,
"This function is deprecated. Please use ResumeBranchActions instead.")
513 void ResumeBranchDeactivation() { ResumeBranchActions(); }
524 BTComp.ResumeBranchActions();
529 void TickNewlyAddedAuxNodesHelper();
531 UE_DEPRECATED(5.1,
"This struct is deprecated. Please use FBTSuspendBranchActionsScoped instead.")
548 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = AI)
555 float NextTickDeltaTime = 0.f;
558 float AccumulatedTickDeltaTime = 0.f;
561 float CurrentFrameDeltaTime = 0.f;
564 double LastRequestedDeltaTimeGameTime = 0;
566#if CSV_PROFILER_STATS
OODEFFUNC typedef const int const char * function
Definition oodle2.h:710
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define NULL
Definition oodle2base.h:134
#define check(expr)
Definition AssertionMacros.h:314
EBTBranchAction
Definition BehaviorTreeComponent.h:82
@ DecoratorActivate_EvenIfExecuting
@ DecoratorActivate_IfNotExecuting
@ ProcessPendingInitialize
@ Changing_Topology_Actions
EBTRestartMode
Definition BehaviorTreeTypes.h:118
@ ForceReevaluateRootNode
EBTNodeRelativePriority
Definition BehaviorTreeTypes.h:224
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ELevelTick
Definition EngineBaseTypes.h:70
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
return true
Definition ExternalRpcRegistry.cpp:601
FORCEINLINE uint32 ToIndex(FHairStrandsTiles::ETileType Type)
Definition HairStrandsData.h:93
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition NameTypes.h:617
Definition UnrealType.h:3087
Definition UObjectGlobals.h:2492
Definition ObjectMacros.h:180
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition EnumAsByte.h:22
Definition AssetRegistryState.h:50
Definition UnrealString.h.inl:34
Definition BTAuxiliaryNode.h:31
Definition BTCompositeNode.h:88
Definition BTDecorator.h:38
Definition BTTaskNode.h:34
Definition BTTask_RunBehaviorDynamic.h:22
Definition BTTask_RunBehavior.h:24
Definition BehaviorTreeComponent.h:105
EBTBranchAction SuspendedBranchActions
Definition BehaviorTreeComponent.h:343
float GetAccumulatedTickDeltaTime() const
Definition BehaviorTreeComponent.h:255
TArray< FBehaviorTreeInstanceId > KnownInstances
Definition BehaviorTreeComponent.h:308
uint16 ActiveInstanceIdx
Definition BehaviorTreeComponent.h:379
FBTTreeStartInfo TreeStartInfo
Definition BehaviorTreeComponent.h:349
static AIMODULE_API int32 NumSearchTimeCalls
Definition BehaviorTreeComponent.h:375
void RequestExecution(const UBTDecorator *RequestedBy)
Definition BehaviorTreeComponent.h:154
TArray< FBranchActionInfo > PendingBranchActionRequests
Definition BehaviorTreeComponent.h:346
uint8 bLoopExecution
Definition BehaviorTreeComponent.h:382
UBehaviorTree * GetCurrentTree() const
Definition BehaviorTreeComponent.h:575
uint8 bIsRunning
Definition BehaviorTreeComponent.h:394
static AIMODULE_API bool bAddedEndFrameCallback
Definition BehaviorTreeComponent.h:373
uint8 bIsPaused
Definition BehaviorTreeComponent.h:397
bool IsAbortPending() const
Definition BehaviorTreeComponent.h:600
TMap< FGameplayTag, double > CooldownTagsMap
Definition BehaviorTreeComponent.h:355
const UBTNode * GetActiveNode() const
Definition BehaviorTreeComponent.h:585
uint8 bRequestedStop
Definition BehaviorTreeComponent.h:391
bool IsRestartPending() const
Definition BehaviorTreeComponent.h:595
uint8 bRequestedFlowUpdate
Definition BehaviorTreeComponent.h:388
uint8 bWaitingForLatentAborts
Definition BehaviorTreeComponent.h:385
UBehaviorTree * GetRootTree() const
Definition BehaviorTreeComponent.h:580
uint16 GetActiveInstanceIdx() const
Definition BehaviorTreeComponent.h:590
FBTPendingExecutionInfo PendingExecution
Definition BehaviorTreeComponent.h:321
TMultiMap< FBTNodeIndex, FAIMessageObserverHandle > TaskMessageObservers
Definition BehaviorTreeComponent.h:352
void RequestExecution(EBTNodeResult::Type ContinueWithResult)
Definition BehaviorTreeComponent.h:157
FBTNodeExecutionInfo ExecutionRequest
Definition BehaviorTreeComponent.h:318
static AIMODULE_API double FrameSearchTime
Definition BehaviorTreeComponent.h:374
TArray< FBehaviorTreeInstance > InstanceStack
Definition BehaviorTreeComponent.h:305
Definition BehaviorTree.h:16
Definition BrainComponent.h:118
Type
Definition AITypes.h:116
Definition BehaviorTreeTypes.h:100
Type
Definition BehaviorTreeTypes.h:102
@ Looped
Definition BehaviorTreeTypes.h:104
Definition BehaviorTreeTypes.h:206
Definition BehaviorTreeTypes.h:84
Type
Definition BehaviorTreeTypes.h:87
@ Succeeded
Definition BehaviorTreeTypes.h:89
Type
Definition BehaviorTreeTypes.h:111
@ Safe
Definition BehaviorTreeTypes.h:112
Type
Definition BehaviorTreeTypes.h:171
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition BrainComponent.h:27
Definition EngineBaseTypes.h:571
Definition BehaviorTreeComponent.h:26
FBTNodeIndex SearchEnd
Definition BehaviorTreeComponent.h:31
uint8 bIsRestart
Definition BehaviorTreeComponent.h:46
TObjectPtr< const UBTCompositeNode > ExecuteNode
Definition BehaviorTreeComponent.h:34
FBTNodeIndex SearchStart
Definition BehaviorTreeComponent.h:28
TEnumAsByte< EBTNodeResult::Type > ContinueWithResult
Definition BehaviorTreeComponent.h:40
uint8 bTryNextChild
Definition BehaviorTreeComponent.h:43
uint16 ExecuteInstanceIdx
Definition BehaviorTreeComponent.h:37
FBTNodeExecutionInfo()
Definition BehaviorTreeComponent.h:48
Definition BehaviorTreeTypes.h:450
Definition BehaviorTreeComponent.h:52
TObjectPtr< UBTTaskNode > NextTask
Definition BehaviorTreeComponent.h:54
FBTPendingExecutionInfo()
Definition BehaviorTreeComponent.h:62
bool IsLocked() const
Definition BehaviorTreeComponent.h:64
void Unlock()
Definition BehaviorTreeComponent.h:67
uint32 bLocked
Definition BehaviorTreeComponent.h:60
uint32 bOutOfNodes
Definition BehaviorTreeComponent.h:57
bool IsSet() const
Definition BehaviorTreeComponent.h:63
void Lock()
Definition BehaviorTreeComponent.h:66
Definition BehaviorTreeComponent.h:71
FBTTreeStartInfo()
Definition BehaviorTreeComponent.h:76
bool HasPendingInitialize() const
Definition BehaviorTreeComponent.h:78
UBehaviorTree * Asset
Definition BehaviorTreeComponent.h:72
uint8 bPendingInitialize
Definition BehaviorTreeComponent.h:74
bool IsSet() const
Definition BehaviorTreeComponent.h:77
EBTExecutionMode::Type ExecuteMode
Definition BehaviorTreeComponent.h:73
Definition BehaviorTreeTypes.h:232
Definition BehaviorTreeTypes.h:320
Definition BehaviorTreeTypes.h:534
Definition BehaviorTreeTypes.h:497
Definition GameplayTagContainer.h:45
Definition VisualLoggerTypes.h:205
Definition ObjectPtr.h:488
Definition BehaviorTreeComponent.h:516
FBTSuspendBranchActionsScoped(UBehaviorTreeComponent &InBTComp, EBTBranchAction BranchActions=EBTBranchAction::All)
Definition BehaviorTreeComponent.h:517
UBehaviorTreeComponent & BTComp
Definition BehaviorTreeComponent.h:526
~FBTSuspendBranchActionsScoped()
Definition BehaviorTreeComponent.h:522
Definition BehaviorTreeComponent.h:324
FBranchActionInfo(const EBTBranchAction InAction)
Definition BehaviorTreeComponent.h:325
FBranchActionInfo(const UBTNode *InNode, const EBTBranchAction InAction)
Definition BehaviorTreeComponent.h:328
FBranchActionInfo(const UBTNode *InNode, EBTNodeResult::Type InContinueWithResult, const EBTBranchAction InAction)
Definition BehaviorTreeComponent.h:332
EBTBranchAction Action
Definition BehaviorTreeComponent.h:339