<?xml version="1.0" encoding="UTF-8" ?> <class name="BTEvaluateExpression" inherits="BTAction" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd"> <brief_description> BT action that evaluates an [Expression] against a specified [Node] or [Object]. </brief_description> <description> BTEvaluateExpression action evaluates an [member expression_string] on the specified [Node] or [Object] instance and returns [code]SUCCESS[/code] when the [Expression] executes successfully. Returns [code]FAILURE[/code] if the action encounters an issue during the [Expression] parsing or execution. </description> <tutorials> </tutorials> <methods> <method name="parse"> <return type="int" enum="Error" /> <description> Calls [method Expression.parse] considering [member input_include_delta] and [member input_names] and returns its error code. </description> </method> </methods> <members> <member name="expression_string" type="String" setter="set_expression_string" getter="get_expression_string" default=""""> The expression string to be parsed and executed. [b]Warning:[/b] Call [method parse] after updating [member expression_string] to update the internal [Expression] as it won't be updated automatically. </member> <member name="input_include_delta" type="bool" setter="set_input_include_delta" getter="is_input_delta_included" default="false"> If enabled, the input variable [code]delta[/code] will be added to [member input_names] and [member input_values]. [b]Warning:[/b] Call [method parse] after toggling [member input_include_delta] to update the internal [Expression] as it won't be updated automatically. </member> <member name="input_names" type="PackedStringArray" setter="set_input_names" getter="get_input_names" default="PackedStringArray()"> List of variable names within [member expression_string] for which the user will provide values for through [member input_values]. [b]Warning:[/b] Call [method parse] after updating [member input_names] to update the internal [Expression] as it won't be updated automatically. </member> <member name="input_values" type="BBVariant[]" setter="set_input_values" getter="get_input_values" default="[]"> List of values for variables specified in [member input_names]. The values are mapped to the variables by their array index. </member> <member name="node" type="BBNode" setter="set_node_param" getter="get_node_param"> Specifies the [Node] or [Object] instance containing the method to be called. </member> <member name="result_var" type="StringName" setter="set_result_var" getter="get_result_var" default="&"""> if non-empty, assign the result of the method call to the blackboard variable specified by this property. </member> </members> </class>