Choose your operating system:
Windows
macOS
Linux
| UObjectBase
|
Module |
|
Header |
/Engine/Source/Runtime/AIModule/Classes/BehaviorTree/Decorators/BTDecorator_BlueprintBase.h |
Include |
#include "BehaviorTree/Decorators/BTDecorator_BlueprintBase.h" |
class UBTDecorator_BlueprintBase : public UBTDecorator
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 | Description | ||
---|---|---|---|
|
TObjectPtr< AAc... |
ActorOwner |
Cached AIController owner of BehaviorTreeComponent. |
|
TObjectPtr< AAI... |
AIOwner |
Cached AIController owner of BehaviorTreeComponent. |
|
uint32: 1 |
bCheckConditionOnlyBlackBoardChanges |
Applies only if Decorator has any FBlackboardKeySelector property and if decorator is set to abort BT flow. |
|
uint32: 1 |
bIsObservingBB |
Gets set to true if decorator declared BB keys it can potentially observe |
|
uint32: 1 |
bShowPropertyDetails |
Show detailed information about properties |
|
CustomDescription |
||
|
ObservedKeyNames |
Blackboard key names that should be observed |
|
|
uint32: 2 |
PerformConditionCheckImplementations |
Set if ReceiveConditionCheck is implemented by blueprint |
|
PropertyData |
Properties with runtime values, stored only in class default object |
|
|
uint32: 2 |
ReceiveExecutionFinishImplementations |
Set if ReceiveExecutionFinish is implemented by blueprint |
|
uint32: 2 |
ReceiveExecutionStartImplementations |
Set if ReceiveExecutionStart is implemented by blueprint |
|
uint32: 2 |
ReceiveObserverActivatedImplementations |
Set if ReceiveObserverActivated is implemented by blueprint |
|
uint32: 2 |
ReceiveObserverDeactivatedImplementations |
Set if ReceiveObserverDeactivated is implemented by blueprint |
|
uint32: 2 |
ReceiveTickImplementations |
Set if ReceiveTick is implemented by blueprint |
Name | Description | |
---|---|---|
|
UBTDecorator_BlueprintBase ( |
Name | Description | ||
---|---|---|---|
|
CalculateRawConditionValueImpl ( |
||
|
GetNeedsTickForConditionChecking() |
||
|
GetShouldAbort ( |
Return if this decorator should abort in current circumstances |
|
|
InitializeProperties() |
Initialize data about blueprint defined properties |
|
|
IsDecoratorExecutionActive() |
Check if decorator is part of currently active branch |
|
|
IsDecoratorObserverActive() |
Check if decorator's observer is currently active |
|
|
EBlackboardN... |
OnBlackboardKeyValueChange ( |
Notify about changes in blackboard |
|
PerformConditionCheck ( |
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 |
|
|
PerformConditionCheckAI ( |
Alternative AI version of ReceiveConditionCheck |
|
|
ReceiveExecutionFinish ( |
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 |
|
|
ReceiveExecutionFinishAI ( |
Alternative AI version of ReceiveExecutionFinish |
|
|
ReceiveExecutionStart ( |
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 |
|
|
ReceiveExecutionStartAI ( |
Alternative AI version of ReceiveExecutionStart |
|
|
ReceiveObserverActivated ( |
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 |
|
|
ReceiveObserverActivatedAI ( |
Alternative AI version of ReceiveObserverActivated |
|
|
ReceiveObserverDeactivated ( |
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 |
|
|
ReceiveObserverDeactivatedAI ( |
Alternative AI version of ReceiveObserverDeactivated |
|
|
ReceiveTick ( |
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 |
|
|
ReceiveTickAI ( |
Alternative AI version of ReceiveTick |
Name | Description | ||
---|---|---|---|
|
CalculateRawConditionValue ( |
Calculates raw, core value of decorator's condition. Should not include calling IsInversed |
|
|
OnNodeActivation ( |
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 |
|
|
OnNodeDeactivation ( |
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 |
Name | Description | ||
---|---|---|---|
|
OnBecomeRelevant ( |
Called when auxiliary node becomes active this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyBecomeRelevant must be set to true for this function to be called Calling INIT_AUXILIARY_NODE_NOTIFY_FLAGS in the constructor of the node will set this flag automatically |
|
|
OnCeaseRelevant ( |
Called when auxiliary node becomes inactive this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyCeaseRelevant must be set to true for this function to be called Calling INIT_AUXILIARY_NODE_NOTIFY_FLAGS in the constructor of the node will set this flag automatically |
|
|
TickNode ( |
Tick function this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyTick must be set to true for this function to be called Calling INIT_AUXILIARY_NODE_NOTIFY_FLAGS in the constructor of the node will set this flag automatically |
Name | Description | ||
---|---|---|---|
|
DescribeRuntimeValues ( |
Gathers description of all runtime parameters |
|
|
GetNodeIconName() |
Get the name of the icon used to display this node in the editor |
|
|
GetStaticDescription() |
||
|
InitializeFromAsset ( |
Initialize any asset related data |
|
|
OnInstanceDestroyed ( |
Called when node instance is removed from tree |
|
|
SetOwner ( |
Gets called only for instanced nodes(bCreateNodeInstance == true). |
|
|
UsesBlueprint() |
Get whether this node is using a blueprint for its logic |
Name | Description | ||
---|---|---|---|
|
PostInitProperties() |
Setup node name |
|
|
PostLoad() |
Do any object-specific cleanup required immediately after loading an object. |