2018-07-26 17:56:21 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2022-02-14 21:18:53 +08:00
<class name= "AnimationNodeStateMachineTransition" inherits= "Resource" version= "4.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2018-07-26 17:56:21 +08:00
<brief_description >
</brief_description>
<description >
</description>
<tutorials >
2021-11-15 17:43:07 +08:00
<link title= "AnimationTree" > $DOCS_URL/tutorials/animation/animation_tree.html</link>
2018-07-26 17:56:21 +08:00
</tutorials>
<members >
2021-06-06 03:24:24 +08:00
<member name= "advance_condition" type= "StringName" setter= "set_advance_condition" getter= "get_advance_condition" default= "&""" >
2021-11-15 17:43:07 +08:00
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][/url]). For example, if [member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] is set to [code]"idle"[/code]:
2020-07-31 22:07:26 +08:00
[codeblocks]
[gdscript]
$animation_tree.set("parameters/conditions/idle", is_on_floor and (linear_velocity.x == 0))
[/gdscript]
[csharp]
GetNode< AnimationTree> ("animation_tree").Set("parameters/conditions/idle", IsOnFloor & & (LinearVelocity.x == 0));
[/csharp]
[/codeblocks]
2018-08-21 06:35:30 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "auto_advance" type= "bool" setter= "set_auto_advance" getter= "has_auto_advance" default= "false" >
2019-06-27 18:34:26 +08:00
Turn on the transition automatically when this state is reached. This works best with [constant SWITCH_MODE_AT_END].
2018-07-26 17:56:21 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "disabled" type= "bool" setter= "set_disabled" getter= "is_disabled" default= "false" >
2019-04-07 19:21:31 +08:00
Don't use this transition during [method AnimationNodeStateMachinePlayback.travel] or [member auto_advance].
2018-07-26 17:56:21 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "priority" type= "int" setter= "set_priority" getter= "get_priority" default= "1" >
2019-04-07 19:21:31 +08:00
Lower priority transitions are preferred when travelling through the tree via [method AnimationNodeStateMachinePlayback.travel] or [member auto_advance].
2018-07-26 17:56:21 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "switch_mode" type= "int" setter= "set_switch_mode" getter= "get_switch_mode" enum= "AnimationNodeStateMachineTransition.SwitchMode" default= "0" >
2019-04-07 19:21:31 +08:00
The transition type.
2018-07-26 17:56:21 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "xfade_time" type= "float" setter= "set_xfade_time" getter= "get_xfade_time" default= "0.0" >
2019-04-07 19:21:31 +08:00
The time to cross-fade between this state and the next.
2018-07-26 17:56:21 +08:00
</member>
</members>
2018-08-21 06:35:30 +08:00
<signals >
<signal name= "advance_condition_changed" >
<description >
2020-01-23 18:14:14 +08:00
Emitted when [member advance_condition] is changed.
2018-08-21 06:35:30 +08:00
</description>
</signal>
</signals>
2018-07-26 17:56:21 +08:00
<constants >
<constant name= "SWITCH_MODE_IMMEDIATE" value= "0" enum= "SwitchMode" >
2019-04-07 19:21:31 +08:00
Switch to the next state immediately. The current state will end and blend into the beginning of the new one.
2018-07-26 17:56:21 +08:00
</constant>
<constant name= "SWITCH_MODE_SYNC" value= "1" enum= "SwitchMode" >
2019-04-07 19:21:31 +08:00
Switch to the next state immediately, but will seek the new state to the playback position of the old state.
2018-07-26 17:56:21 +08:00
</constant>
<constant name= "SWITCH_MODE_AT_END" value= "2" enum= "SwitchMode" >
2019-04-07 19:21:31 +08:00
Wait for the current state playback to end, then switch to the beginning of the next state animation.
2018-07-26 17:56:21 +08:00
</constant>
</constants>
</class>