2022-11-01 20:31:22 +00:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-04-10 14:57:36 +00:00
<class name= "BTPlayer" inherits= "Node" version= "4.1" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../../../doc/class.xsd" >
2022-11-01 20:31:22 +00:00
<brief_description >
2022-11-04 12:27:09 +00:00
Player of [BehaviorTree] resources.
2022-11-01 20:31:22 +00:00
</brief_description>
<description >
2022-11-04 12:27:09 +00:00
BTPlayer is used for instantiation and playback of [BehaviorTree] resources at run time.
2022-11-01 20:31:22 +00:00
</description>
<tutorials >
</tutorials>
<methods >
2023-04-10 14:57:36 +00:00
<method name= "get_last_status" qualifiers= "const" >
<return type= "int" />
<description >
Returns last execution status. See [enum BTTask.TaskStatus].
</description>
</method>
2022-11-01 20:31:22 +00:00
<method name= "restart" >
<return type= "void" />
<description >
2022-11-04 12:27:09 +00:00
Cancel execution of the tree and start anew. This method does not reset [Blackboard].
2022-11-01 20:31:22 +00:00
</description>
</method>
<method name= "set_blackboard" >
<return type= "void" />
2023-04-10 14:57:36 +00:00
<param index= "0" name= "p_blackboard" type= "Blackboard" />
2022-11-01 20:31:22 +00:00
<description >
2022-11-04 12:27:09 +00:00
Assign a [Blackboard] instance.
2022-11-01 20:31:22 +00:00
</description>
</method>
<method name= "update" >
<return type= "void" />
2023-04-10 14:57:36 +00:00
<param index= "0" name= "p_delta" type= "float" />
2022-11-01 20:31:22 +00:00
<description >
2022-11-04 12:27:09 +00:00
Updates the tree by executing the root task. Call this method when [member update_mode] is set to [constant MANUAL]. When [member update_mode] is not set to [constant MANUAL], the tree is updated automatically. See [enum UpdateMode].
2022-11-01 20:31:22 +00:00
</description>
</method>
</methods>
<members >
2023-04-10 14:57:36 +00:00
<member name= "active" type= "bool" setter= "set_active" getter= "get_active" default= "true" >
2022-11-04 12:27:09 +00:00
If [code]true[/code], tree is active and will be processed.
2022-11-01 20:31:22 +00:00
</member>
<member name= "behavior_tree" type= "BehaviorTree" setter= "set_behavior_tree" getter= "get_behavior_tree" >
2022-11-04 12:27:09 +00:00
[BehaviorTree] resource to instantiate and process at run time.
2022-11-01 20:31:22 +00:00
</member>
<member name= "blackboard" type= "Blackboard" setter= "" getter= "get_blackboard" >
2022-11-04 12:27:09 +00:00
[Blackboard] instance that contains data shared by the tasks in [BehaviorTree].
2022-11-01 20:31:22 +00:00
</member>
2023-07-20 20:15:30 +00:00
<member name= "monitor_performance" type= "bool" setter= "_set_monitor_performance" getter= "_get_monitor_performance" default= "false" >
Add a performance monitor to "Debugger-> Monitors" for each instance of this [BTPlayer].
</member>
2022-11-01 20:31:22 +00:00
<member name= "prefetch_nodepath_vars" type= "bool" setter= "set_prefetch_nodepath_vars" getter= "get_prefetch_nodepath_vars" default= "true" >
2022-11-04 12:27:09 +00:00
If [code]true[/code], any NodePath variables in the [Blackboard] are replaced with references during tree instantiation. References are retrieved by calling [method Node.get_node] of BTPlayer.
2022-11-01 20:31:22 +00:00
</member>
2023-04-10 14:57:36 +00:00
<member name= "update_mode" type= "int" setter= "set_update_mode" getter= "get_update_mode" enum= "BTPlayer.UpdateMode" default= "1" >
2022-11-04 12:27:09 +00:00
Defines when BehaviorTree is executed. See [enum UpdateMode].
2022-11-01 20:31:22 +00:00
</member>
</members>
<signals >
<signal name= "behavior_tree_finished" >
2023-04-10 14:57:36 +00:00
<param index= "0" name= "p_status" type= "int" />
2022-11-01 20:31:22 +00:00
<description >
2022-11-04 12:27:09 +00:00
Notifies when behavior tree finishes executing and returns [code]SUCCESS[/code] or [code]FAILURE[/code].
Argument [code]p_status[/code] holds the status returned by the behavior tree.
2022-11-01 20:31:22 +00:00
</description>
</signal>
2023-07-20 20:15:30 +00:00
<signal name= "updated" >
<param index= "0" name= "p_status" type= "int" />
<description >
Emitted when BTPlayer has finished updating/ticking the tree.
</description>
</signal>
2022-11-01 20:31:22 +00:00
</signals>
<constants >
<constant name= "IDLE" value= "0" enum= "UpdateMode" >
2022-11-04 12:27:09 +00:00
Process tree during the idle process.
2022-11-01 20:31:22 +00:00
</constant>
<constant name= "PHYSICS" value= "1" enum= "UpdateMode" >
2022-11-04 12:27:09 +00:00
Process tree during the physics process.
2022-11-01 20:31:22 +00:00
</constant>
<constant name= "MANUAL" value= "2" enum= "UpdateMode" >
2022-11-04 12:27:09 +00:00
Tree is processed manually by calling [method update].
2022-11-01 20:31:22 +00:00
</constant>
</constants>
</class>