summaryrefslogtreecommitdiff
path: root/doc/classes/AnimationNodeStateMachineTransition.xml
blob: 763bba6e93970c3926943cd3a04e1eddde0ffe17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimationNodeStateMachineTransition" inherits="Resource" version="4.0">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<tutorials>
		<link title="AnimationTree">https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html</link>
	</tutorials>
	<members>
		<member name="advance_condition" type="StringName" setter="set_advance_condition" getter="get_advance_condition" default="&amp;&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=https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html#controlling-from-code][/url]). For example, if [member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] is set to [code]"idle"[/code]:
			[codeblocks]
			[gdscript]
			$animation_tree.set("parameters/conditions/idle", is_on_floor and (linear_velocity.x == 0))
			[/gdscript]
			[csharp]
			GetNode&lt;AnimationTree&gt;("animation_tree").Set("parameters/conditions/idle", IsOnFloor &amp;&amp; (LinearVelocity.x == 0));
			[/csharp]
			[/codeblocks]
		</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>