2017-09-12 20:42:36 +00:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-03-01 00:44:37 +00:00
<class name= "SceneTreeTimer" inherits= "RefCounted" version= "4.1" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-12 20:42:36 +00:00
<brief_description >
2019-02-24 02:56:10 +00:00
One-shot timer.
2017-09-12 20:42:36 +00:00
</brief_description>
<description >
2019-02-24 02:56:10 +00: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 10:17:56 +00: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-27 23:33:15 +00:00
[codeblocks]
[gdscript]
2019-02-24 02:56:10 +00:00
func some_function():
2019-10-01 08:55:49 +00:00
print("Timer started.")
2021-10-21 16:22:55 +00:00
await get_tree().create_timer(1.0).timeout
2019-10-01 08:55:49 +00:00
print("Timer ended.")
2020-11-27 23:33:15 +00:00
[/gdscript]
[csharp]
2023-01-31 17:21:09 +00:00
public async Task SomeFunction()
2020-11-27 23:33:15 +00:00
{
GD.Print("Timer started.");
2023-01-31 17:21:09 +00:00
await ToSignal(GetTree().CreateTimer(1.0f), SceneTreeTimer.SignalName.Timeout);
2020-11-27 23:33:15 +00:00
GD.Print("Timer ended.");
}
[/csharp]
[/codeblocks]
2022-06-10 09:54:18 +00: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 23:38:19 +00: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 20:42:36 +00:00
</description>
<tutorials >
</tutorials>
2018-01-11 22:38:35 +00:00
<members >
<member name= "time_left" type= "float" setter= "set_time_left" getter= "get_time_left" >
2021-12-05 17:37:58 +00:00
The time remaining (in seconds).
2018-01-11 22:38:35 +00:00
</member>
</members>
2017-09-12 20:42:36 +00:00
<signals >
<signal name= "timeout" >
<description >
2019-02-24 02:56:10 +00:00
Emitted when the timer reaches 0.
2017-09-12 20:42:36 +00:00
</description>
</signal>
</signals>
</class>