<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimationNodeStateMachineTransition" inherits="Resource" version="3.6" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<tutorials>
		<link>$DOCS_URL/tutorials/animation/animation_tree.html</link>
	</tutorials>
	<methods>
	</methods>
	<members>
		<member name="advance_condition" type="String" setter="set_advance_condition" getter="get_advance_condition" default="&quot;&quot;">
			Turn on auto advance when this condition is set. The provided name will become a boolean parameter on the [AnimationTree] that can be controlled from code (see [url=$DOCS_URL/tutorials/animation/animation_tree.html#controlling-from-code]Using AnimationTree[/url]). For example, if [member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] is set to [code]"idle"[/code]:
			[codeblock]
			$animation_tree["parameters/conditions/idle"] = is_on_floor and (linear_velocity.x == 0)
			[/codeblock]
		</member>
		<member name="auto_advance" type="bool" setter="set_auto_advance" getter="has_auto_advance" default="false">
			Turn on the transition automatically when this state is reached. This works best with [constant SWITCH_MODE_AT_END].
		</member>
		<member name="disabled" type="bool" setter="set_disabled" getter="is_disabled" default="false">
			Don't use this transition during [method AnimationNodeStateMachinePlayback.travel] or [member auto_advance].
		</member>
		<member name="priority" type="int" setter="set_priority" getter="get_priority" default="1">
			Lower priority transitions are preferred when travelling through the tree via [method AnimationNodeStateMachinePlayback.travel] or [member auto_advance].
		</member>
		<member name="switch_mode" type="int" setter="set_switch_mode" getter="get_switch_mode" enum="AnimationNodeStateMachineTransition.SwitchMode" default="0">
			The transition type.
		</member>
		<member name="xfade_time" type="float" setter="set_xfade_time" getter="get_xfade_time" default="0.0">
			The time to cross-fade between this state and the next.
		</member>
	</members>
	<signals>
		<signal name="advance_condition_changed">
			<description>
				Emitted when [member advance_condition] is changed.
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="SWITCH_MODE_IMMEDIATE" value="0" enum="SwitchMode">
			Switch to the next state immediately. The current state will end and blend into the beginning of the new one.
		</constant>
		<constant name="SWITCH_MODE_SYNC" value="1" enum="SwitchMode">
			Switch to the next state immediately, but will seek the new state to the playback position of the old state.
		</constant>
		<constant name="SWITCH_MODE_AT_END" value="2" enum="SwitchMode">
			Wait for the current state playback to end, then switch to the beginning of the next state animation.
		</constant>
	</constants>
</class>
