Navigation
API > API/Runtime > API/Runtime/AIModule
Base class for blueprint based decorator nodes. Do NOT use it for creating native c++ classes!
Unlike task and services, decorator have two execution chains: ExecutionStart-ExecutionFinish and ObserverActivated-ObserverDeactivated which makes automatic latent action cleanup impossible. Keep in mind, that you HAVE TO verify is given chain is still active after resuming from any latent action (like Delay, Timelines, etc).
Helper functions:
- IsDecoratorExecutionActive (true after ExecutionStart, until ExecutionFinish)
- IsDecoratorObserverActive (true after ObserverActivated, until ObserverDeactivated)
| Name | UBTDecorator_BlueprintBase |
| Type | class |
| Header File | /Engine/Source/Runtime/AIModule/Classes/BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
| Include Path | #include "BehaviorTree/Decorators/BTDecorator_BlueprintBase.h" |
Syntax
UCLASS (Abstract, Blueprintable, MinimalAPI)
class UBTDecorator_BlueprintBase : public UBTDecorator
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UBTNode → UBTAuxiliaryNode → UBTDecorator → UBTDecorator_BlueprintBase
Implements Interfaces
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UBTDecorator_BlueprintBase
(
const FObjectInitializer& ObjectInitializer |
BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
Enums
Public
| Name | Remarks |
|---|---|
| EAbortType |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
EAbortType EvaluateAbortType
(
UBehaviorTreeComponent& OwnerComp |
Return this decorator abort type in current circumstances | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h | |
bool GetShouldAbort
(
UBehaviorTreeComponent& OwnerComp |
BehaviorTree/Decorators/BTDecorator_BlueprintBase.h | ||
void InitializeProperties() |
Initialize data about blueprint defined properties | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h | |
EBlackboardNotificationResult OnBlackboardKeyValueChange
(
const UBlackboardComponent& Blackboard, |
Notify about changes in blackboard | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
Overridden from UBTDecorator
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool CalculateRawConditionValue
(
UBehaviorTreeComponent& OwnerComp, |
Calculates raw, core value of decorator's condition. Should not include calling IsInversed | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
Overridden from UBTNode
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void DescribeRuntimeValues
(
const UBehaviorTreeComponent& OwnerComp, |
Gathers description of all runtime parameters | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h | |
virtual FName GetNodeIconName() |
Get the name of the icon used to display this node in the editor | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h | |
virtual FString GetStaticDescription() |
BehaviorTree/Decorators/BTDecorator_BlueprintBase.h | ||
virtual void InitializeFromAsset
(
UBehaviorTree& Asset |
Initialize any asset related data | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h | |
virtual void OnInstanceDestroyed
(
UBehaviorTreeComponent& OwnerComp |
Called when node instance is removed from tree | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h | |
| Gets called only for instanced nodes(bCreateNodeInstance == true). | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h | ||
virtual bool UsesBlueprint() |
Get whether this node is using a blueprint for its logic | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PostInitProperties() |
Setup node name | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h | |
virtual void PostLoad() |
BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool GetNeedsTickForConditionChecking() |
BehaviorTree/Decorators/BTDecorator_BlueprintBase.h | ||
bool IsDecoratorExecutionActive() |
Check if decorator is part of currently active branch | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
|
bool IsDecoratorObserverActive() |
Check if decorator's observer is currently active | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
|
bool PerformConditionCheck
(
AActor* OwnerActor |
Called when testing if underlying node can be executed, must call FinishConditionCheck @Note that if both generic and AI event versions are implemented only the more suitable one will be called, meaning the AI version if called for AI, generic one otherwise | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
|
bool PerformConditionCheckAI
(
AAIController* OwnerController, |
Alternative AI version of ReceiveConditionCheck | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
|
void ReceiveExecutionFinish
(
AActor* OwnerActor, |
Called when execution of underlying node is finished @Note that if both generic and AI event versions are implemented only the more suitable one will be called, meaning the AI version if called for AI, generic one otherwise | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
|
void ReceiveExecutionFinishAI
(
AAIController* OwnerController, |
Alternative AI version of ReceiveExecutionFinish | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
|
void ReceiveExecutionStart
(
AActor* OwnerActor |
Called on execution of underlying node @Note that if both generic and AI event versions are implemented only the more suitable one will be called, meaning the AI version if called for AI, generic one otherwise | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
|
void ReceiveExecutionStartAI
(
AAIController* OwnerController, |
Alternative AI version of ReceiveExecutionStart | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
|
void ReceiveObserverActivated
(
AActor* OwnerActor |
Called when observer is activated (flow controller) @Note that if both generic and AI event versions are implemented only the more suitable one will be called, meaning the AI version if called for AI, generic one otherwise | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
|
void ReceiveObserverActivatedAI
(
AAIController* OwnerController, |
Alternative AI version of ReceiveObserverActivated | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
|
void ReceiveObserverDeactivated
(
AActor* OwnerActor |
Called when observer is deactivated (flow controller) @Note that if both generic and AI event versions are implemented only the more suitable one will be called, meaning the AI version if called for AI, generic one otherwise | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
|
void ReceiveObserverDeactivatedAI
(
AAIController* OwnerController, |
Alternative AI version of ReceiveObserverDeactivated | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
|
void ReceiveTick
(
AActor* OwnerActor, |
Tick function @Note that if both generic and AI event versions are implemented only the more suitable one will be called, meaning the AI version if called for AI, generic one otherwise | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
|
void ReceiveTickAI
(
AAIController* OwnerController, |
Alternative AI version of ReceiveTick | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
|
void RequestAbort
(
UBehaviorTreeComponent& OwnerComp, |
Handle abort request calls from the specified abort type | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
Overridden from UBTDecorator
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void OnNodeActivation
(
FBehaviorTreeSearchData& SearchData |
Called when underlying node is activated this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyActivation must be set to true for this function to be called Calling INIT_DECORATOR_NODE_NOTIFY_FLAGS in the constructor of the decorator will set this flag automatically | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h | |
virtual void OnNodeDeactivation
(
FBehaviorTreeSearchData& SearchData, |
Called when underlying node has finished this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyDeactivation must be set to true for this function to be called Calling INIT_DECORATOR_NODE_NOTIFY_FLAGS in the constructor of the decorator will set this flag automatically | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
Overridden from UBTAuxiliaryNode
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void OnBecomeRelevant
(
UBehaviorTreeComponent& OwnerComp, |
Called when auxiliary node becomes active this function should be considered as const (don't modify state of object) if node is not instanced! | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h | |
virtual void OnCeaseRelevant
(
UBehaviorTreeComponent& OwnerComp, |
Called when auxiliary node becomes inactive this function should be considered as const (don't modify state of object) if node is not instanced! | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h | |
virtual void TickNode
(
UBehaviorTreeComponent& OwnerComp, |
Tick function this function should be considered as const (don't modify state of object) if node is not instanced! | BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |