BT action that evaluates an ``Expression`` against a specified ``Node`` or ``Object``.
..rst-class:: classref-introduction-group
Description
-----------
BTEvaluateExpression action evaluates an :ref:`expression_string<class_BTEvaluateExpression_property_expression_string>` on the specified ``Node`` or ``Object`` instance and returns ``SUCCESS`` when the ``Expression`` executes successfully.
Returns ``FAILURE`` if the action encounters an issue during the ``Expression`` parsing or execution.
- void **set_expression_string****(** String value **)**
- String **get_expression_string****(****)**
The expression string to be parsed and executed.
\ **Warning:** Call :ref:`parse<class_BTEvaluateExpression_method_parse>` after updating :ref:`expression_string<class_BTEvaluateExpression_property_expression_string>` to update the internal ``Expression`` as it won't be updated automatically.
- void **set_input_include_delta****(** bool value **)**
- bool **is_input_delta_included****(****)**
If enabled, the input variable ``delta`` will be added to :ref:`input_names<class_BTEvaluateExpression_property_input_names>` and :ref:`input_values<class_BTEvaluateExpression_property_input_values>`.
\ **Warning:** Call :ref:`parse<class_BTEvaluateExpression_method_parse>` after toggling :ref:`input_include_delta<class_BTEvaluateExpression_property_input_include_delta>` to update the internal ``Expression`` as it won't be updated automatically.
- void **set_input_names****(** PackedStringArray value **)**
- PackedStringArray **get_input_names****(****)**
List of variable names within :ref:`expression_string<class_BTEvaluateExpression_property_expression_string>` for which the user will provide values for through :ref:`input_values<class_BTEvaluateExpression_property_input_values>`.
\ **Warning:** Call :ref:`parse<class_BTEvaluateExpression_method_parse>` after updating :ref:`input_names<class_BTEvaluateExpression_property_input_names>` to update the internal ``Expression`` as it won't be updated automatically.
List of values for variables specified in :ref:`input_names<class_BTEvaluateExpression_property_input_names>`. The values are mapped to the variables by their array index.
..rst-class:: classref-item-separator
----
.._class_BTEvaluateExpression_property_node:
..rst-class:: classref-property
:ref:`BBNode<class_BBNode>`**node**
..rst-class:: classref-property-setget
- void **set_node_param****(**:ref:`BBNode<class_BBNode>` value **)**
Calls :ref:`Expression.parse<class_Expression_method_parse>` considering :ref:`input_include_delta<class_BTEvaluateExpression_property_input_include_delta>` and :ref:`input_names<class_BTEvaluateExpression_property_input_names>` and returns its error code.
..|virtual|replace:::abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
..|const|replace:::abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
..|vararg|replace:::abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
..|constructor|replace:::abbr:`constructor (This method is used to construct a type.)`
..|static|replace:::abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
..|operator|replace:::abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
..|bitfield|replace:::abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`