2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								<?xml version="1.0" encoding="UTF-8" ?>  
						 
					
						
							
								
									
										
										
										
											2023-07-06 10:08:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								<class  name= "SceneTreeTimer"  inherits= "RefCounted"  xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation= "../class.xsd" >  
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									<brief_description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-23 18:56:10 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										One-shot timer.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</brief_description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-23 18:56:10 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										A one-shot timer managed by the scene tree, which emits [signal timeout] on completion. See also [method SceneTree.create_timer].
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 11:17:56 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										As opposed to [Timer], it does not require the instantiation of a node. Commonly used to create a one-shot delay timer as in the following example:
							 
						 
					
						
							
								
									
										
										
										
											2020-11-28 00:33:15 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[codeblocks]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[gdscript]
							 
						 
					
						
							
								
									
										
										
										
											2019-02-23 18:56:10 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										func some_function():
							 
						 
					
						
							
								
									
										
										
										
											2025-05-17 20:00:17 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											print("Timer started.")
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											await get_tree().create_timer(1.0).timeout
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											print("Timer ended.")
							 
						 
					
						
							
								
									
										
										
										
											2020-11-28 00:33:15 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[/gdscript]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[csharp]
							 
						 
					
						
							
								
									
										
										
										
											2023-01-31 18:21:09 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										public async Task SomeFunction()
							 
						 
					
						
							
								
									
										
										
										
											2020-11-28 00:33:15 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										{
							 
						 
					
						
							
								
									
										
										
										
											2025-05-17 20:00:17 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											GD.Print("Timer started.");
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											await ToSignal(GetTree().CreateTimer(1.0f), SceneTreeTimer.SignalName.Timeout);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											GD.Print("Timer ended.");
							 
						 
					
						
							
								
									
										
										
										
											2020-11-28 00:33:15 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[/csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[/codeblocks]
							 
						 
					
						
							
								
									
										
										
										
											2022-06-10 17:54:18 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										The timer will be dereferenced after its time elapses. To preserve the timer, you can keep a reference to it. See [RefCounted].
							 
						 
					
						
							
								
									
										
										
										
											2023-05-31 20:38:19 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[b]Note:[/b] The timer is processed after all of the nodes in the current frame, i.e. node's [method Node._process] method would be called before the timer (or [method Node._physics_process] if [code]process_in_physics[/code] in [method SceneTree.create_timer] has been set to [code]true[/code]).
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<tutorials > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</tutorials> 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-12 00:38:35 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									<members > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<member  name= "time_left"  type= "float"  setter= "set_time_left"  getter= "get_time_left" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-12-05 18:37:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											The time remaining (in seconds).
							 
						 
					
						
							
								
									
										
										
										
											2018-01-12 00:38:35 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										</member> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</members> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									<signals > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<signal  name= "timeout" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-23 18:56:10 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Emitted when the timer reaches 0.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</signal> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</signals> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								</class>