<?xml version="1.0" encoding="UTF-8" ?> <class name="AnimationNodeStateMachine" inherits="AnimationRootNode" version="4.0"> <brief_description> State machine for control of animations. </brief_description> <description> Contains multiple nodes representing animation states, connected in a graph. Node transitions can be configured to happen automatically or via code, using a shortest-path algorithm. Retrieve the [AnimationNodeStateMachinePlayback] object from the [AnimationTree] node to control it programmatically. [b]Example:[/b] [codeblock] var state_machine = $AnimationTree.get("parameters/playback") state_machine.travel("some_state") [/codeblock] </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html</link> </tutorials> <methods> <method name="add_node"> <return type="void"> </return> <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="node" type="AnimationNode"> </argument> <argument index="2" name="position" type="Vector2" default="Vector2( 0, 0 )"> </argument> <description> Adds a new node to the graph. The [code]position[/code] is used for display in the editor. </description> </method> <method name="add_transition"> <return type="void"> </return> <argument index="0" name="from" type="StringName"> </argument> <argument index="1" name="to" type="StringName"> </argument> <argument index="2" name="transition" type="AnimationNodeStateMachineTransition"> </argument> <description> Adds a transition between the given nodes. </description> </method> <method name="get_end_node" qualifiers="const"> <return type="String"> </return> <description> Returns the graph's end node. </description> </method> <method name="get_graph_offset" qualifiers="const"> <return type="Vector2"> </return> <description> Returns the draw offset of the graph. Used for display in the editor. </description> </method> <method name="get_node" qualifiers="const"> <return type="AnimationNode"> </return> <argument index="0" name="name" type="StringName"> </argument> <description> Returns the animation node with the given name. </description> </method> <method name="get_node_name" qualifiers="const"> <return type="StringName"> </return> <argument index="0" name="node" type="AnimationNode"> </argument> <description> Returns the given animation node's name. </description> </method> <method name="get_node_position" qualifiers="const"> <return type="Vector2"> </return> <argument index="0" name="name" type="StringName"> </argument> <description> Returns the given node's coordinates. Used for display in the editor. </description> </method> <method name="get_start_node" qualifiers="const"> <return type="String"> </return> <description> Returns the graph's end node. </description> </method> <method name="get_transition" qualifiers="const"> <return type="AnimationNodeStateMachineTransition"> </return> <argument index="0" name="idx" type="int"> </argument> <description> Returns the given transition. </description> </method> <method name="get_transition_count" qualifiers="const"> <return type="int"> </return> <description> Returns the number of connections in the graph. </description> </method> <method name="get_transition_from" qualifiers="const"> <return type="StringName"> </return> <argument index="0" name="idx" type="int"> </argument> <description> Returns the given transition's start node. </description> </method> <method name="get_transition_to" qualifiers="const"> <return type="StringName"> </return> <argument index="0" name="idx" type="int"> </argument> <description> Returns the given transition's end node. </description> </method> <method name="has_node" qualifiers="const"> <return type="bool"> </return> <argument index="0" name="name" type="StringName"> </argument> <description> Returns [code]true[/code] if the graph contains the given node. </description> </method> <method name="has_transition" qualifiers="const"> <return type="bool"> </return> <argument index="0" name="from" type="StringName"> </argument> <argument index="1" name="to" type="StringName"> </argument> <description> Returns [code]true[/code] if there is a transition between the given nodes. </description> </method> <method name="remove_node"> <return type="void"> </return> <argument index="0" name="name" type="StringName"> </argument> <description> Deletes the given node from the graph. </description> </method> <method name="remove_transition"> <return type="void"> </return> <argument index="0" name="from" type="StringName"> </argument> <argument index="1" name="to" type="StringName"> </argument> <description> Deletes the transition between the two specified nodes. </description> </method> <method name="remove_transition_by_index"> <return type="void"> </return> <argument index="0" name="idx" type="int"> </argument> <description> Deletes the given transition by index. </description> </method> <method name="rename_node"> <return type="void"> </return> <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="new_name" type="StringName"> </argument> <description> Renames the given node. </description> </method> <method name="replace_node"> <return type="void"> </return> <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="node" type="AnimationNode"> </argument> <description> </description> </method> <method name="set_end_node"> <return type="void"> </return> <argument index="0" name="name" type="StringName"> </argument> <description> Sets the given node as the graph end point. </description> </method> <method name="set_graph_offset"> <return type="void"> </return> <argument index="0" name="offset" type="Vector2"> </argument> <description> Sets the draw offset of the graph. Used for display in the editor. </description> </method> <method name="set_node_position"> <return type="void"> </return> <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="position" type="Vector2"> </argument> <description> Sets the node's coordinates. Used for display in the editor. </description> </method> <method name="set_start_node"> <return type="void"> </return> <argument index="0" name="name" type="StringName"> </argument> <description> Sets the given node as the graph start point. </description> </method> </methods> <constants> </constants> </class>