IN THIS ARTICLE
Behavior Tree
Behavior Tree
Use the Behavior Tree component to load and run a behavior tree for the attached entity.
Behavior Tree Component Properties
The Behavior Tree component has the following properties:
Behavior tree asset
Select an XML
file that contains a behavior tree definition.
Enabled initially
When selected, the behavior tree is loaded and activated with the entity.
EBus Request Bus Interface
Use the following request functions with the event bus (EBus) interface, BehaviorTreeComponentRequestBus
, to communicate with other components of your game.
For more information about using the EBus interface, see Working with the Event Bus (EBus) system.
StartBehaviorTree
Starts an inactive behavior tree associated with this entity.
Parameters
None
Return
None
Scriptable
Yes
StopBehaviorTree
Stops an active behavior tree associated with this entity.
Parameters
None
Return
None
Scriptable
Yes
GetVariableNameCrcs
Gets a list of all crc32s
of the variable names.
Parameters
None
ReturnAZStd::vector<AZ::Crc32>
Scriptable
Yes
GetVariableValue
Gets the value associated with a variable.
ParametersAZ::Crc32 variableNameCrc
Returnbool
Scriptable
Yes
SetVariableValue
Sets the value associated with a variable.
ParametersAZ::Crc32 variableNameCrc
bool newValue
Return
None
Scriptable
Yes
The following is an example of script using the Request Bus Interface.
local behaviortreescript =
{
Properties =
{
Target = EntityId(),
},
}
function behaviortreescript:OnActivate()
BehaviorTreeComponentRequestBus.Event.StartBehaviorTree(self.entityId)
BehaviorTreeComponentRequestBus.Event.SetVariableValue(self.entityId, Crc32("HasTarget"), self.Properties.Target:IsValid())
end
return behaviortreescript