2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								<?xml version="1.0" encoding="UTF-8" ?>  
						 
					
						
							
								
									
										
										
										
											2023-07-06 10:08:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								<class  name= "AnimationNodeStateMachinePlayback"  inherits= "Resource"  xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation= "../class.xsd" >  
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									<brief_description > 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 17:16:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										Provides playback control for an [AnimationNodeStateMachine].
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</brief_description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										Allows control of [AnimationTree] state machines created with [AnimationNodeStateMachine]. Retrieve with [code]$AnimationTree.get("parameters/playback")[/code].
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[codeblocks]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[gdscript]
							 
						 
					
						
							
								
									
										
										
										
											2019-05-20 19:45:23 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										var state_machine = $AnimationTree.get("parameters/playback")
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										state_machine.travel("some_state")
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[/gdscript]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[csharp]
							 
						 
					
						
							
								
									
										
										
										
											2023-03-08 08:37:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										var stateMachine = GetNode< AnimationTree> ("AnimationTree").Get("parameters/playback").As< AnimationNodeStateMachinePlayback> ();
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										stateMachine.Travel("some_state");
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[/csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[/codeblocks]
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<tutorials > 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 17:16:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<link  title= "Using AnimationTree" > $DOCS_URL/tutorials/animation/animation_tree.html</link> 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</tutorials> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<methods > 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-04 14:33:44 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "get_current_length"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "float"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2023-02-13 14:16:40 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the current state length.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[b]Note:[/b] It is possible that any [AnimationRootNode] can be nodes as well as animations. This means that there can be multiple animations within a single state. Which animation length has priority depends on the nodes connected inside it. Also, if a transition does not reset, the remaining length at that point will be returned.
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-04 14:33:44 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "get_current_node"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "StringName"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-04 14:33:44 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the currently playing animation state.
							 
						 
					
						
							
								
									
										
										
										
											2023-02-13 14:16:40 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[b]Note:[/b] When using a cross-fade, the current state changes to the next state immediately after the cross-fade begins.
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2020-09-18 19:59:25 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "get_current_play_position"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "float"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2020-09-18 19:59:25 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Returns the playback position within the current animation state.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2023-01-22 15:50:53 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "get_fading_from_node"  qualifiers= "const" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<return  type= "StringName"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Returns the starting state of currently fading animation.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-04 14:33:44 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "get_travel_path"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-25 00:21:32 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "StringName[]"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-04 14:33:44 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Returns the current travel path as computed internally by the A* algorithm.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										<method  name= "is_playing"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "bool"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-20 19:45:23 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns [code]true[/code] if an animation is playing.
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2023-01-10 18:15:16 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "next" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												If there is a next path by travel or auto advance, immediately transitions from the current state to the next state.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										<method  name= "start" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "node"  type= "StringName"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2023-01-10 18:15:16 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "1"  name= "reset"  type= "bool"  default= "true"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-20 19:45:23 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Starts playing the given animation.
							 
						 
					
						
							
								
									
										
										
										
											2023-01-10 18:15:16 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												If [param reset] is [code]true[/code], the animation is played from the beginning.
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "stop" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-20 19:45:23 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Stops the currently playing animation.
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "travel" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "to_node"  type= "StringName"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2023-01-10 18:15:16 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "1"  name= "reset_on_teleport"  type= "bool"  default= "true"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-20 19:45:23 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Transitions from the current state to another one, following the shortest path.
							 
						 
					
						
							
								
									
										
										
										
											2023-01-10 18:15:16 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												If the path does not connect from the current state, the animation will play after the state teleports.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												If [param reset_on_teleport] is [code]true[/code], the animation is played from the beginning when the travel cause a teleportation.
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</methods> 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-03 13:44:58 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									<members > 
							 
						 
					
						
							
								
									
										
										
										
											2021-12-02 22:38:49 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "resource_local_to_scene"  type= "bool"  setter= "set_local_to_scene"  getter= "is_local_to_scene"  overrides= "Resource"  default= "true"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-03 13:44:58 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									</members> 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-21 00:35:30 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								</class>