2017-09-13 04:42:36 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2019-04-01 18:33:56 +08:00
<class name= "Timer" inherits= "Node" category= "Core" version= "3.2" >
2017-09-13 04:42:36 +08:00
<brief_description >
A countdown timer.
</brief_description>
<description >
2019-06-22 07:04:47 +08:00
Counts down a specified interval and emits a signal on reaching 0. Can be set to repeat or "one-shot" mode.
2017-09-13 04:42:36 +08:00
</description>
<tutorials >
</tutorials>
<methods >
<method name= "is_stopped" qualifiers= "const" >
<return type= "bool" >
</return>
<description >
2017-12-30 09:08:54 +08:00
Returns [code]true[/code] if the timer is stopped.
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "start" >
<return type= "void" >
</return>
2018-04-27 03:42:50 +08:00
<argument index= "0" name= "time_sec" type= "float" default= "-1" >
</argument>
2017-09-13 04:42:36 +08:00
<description >
2018-12-29 07:17:09 +08:00
Starts the timer. Sets [code]wait_time[/code] to [code]time_sec[/code] if [code]time_sec > 0[/code]. This also resets the remaining time to [code]wait_time[/code].
2019-06-22 07:04:47 +08:00
[b]Note:[/b] this method will not resume a paused timer. See [member paused].
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "stop" >
<return type= "void" >
</return>
<description >
2018-09-17 01:52:21 +08:00
Stops the timer.
2017-09-13 04:42:36 +08:00
</description>
</method>
</methods>
<members >
2019-06-29 18:38:01 +08:00
<member name= "autostart" type= "bool" setter= "set_autostart" getter= "has_autostart" default= "false" >
2018-12-20 20:46:54 +08:00
If [code]true[/code], the timer will automatically start when entering the scene tree. Default value: [code]false[/code].
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "one_shot" type= "bool" setter= "set_one_shot" getter= "is_one_shot" default= "false" >
2018-12-20 20:46:54 +08:00
If [code]true[/code], the timer will stop when reaching 0. If [code]false[/code], it will restart. Default value: [code]false[/code].
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "paused" type= "bool" setter= "set_paused" getter= "is_paused" default= "null" >
2018-12-20 20:46:54 +08:00
If [code]true[/code], the timer is paused and will not process until it is unpaused again, even if [method start] is called.
2018-01-12 06:38:35 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "process_mode" type= "int" setter= "set_timer_process_mode" getter= "get_timer_process_mode" enum= "Timer.TimerProcessMode" default= "1" >
2018-09-17 01:52:21 +08:00
Processing mode. See [enum TimerProcessMode].
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "time_left" type= "float" setter= "" getter= "get_time_left" default= "null" >
2018-01-12 06:38:35 +08:00
The timer's remaining time in seconds. Returns 0 if the timer is inactive.
2019-06-22 07:04:47 +08:00
[b]Note:[/b] You cannot set this value. To change the timer's remaining time, use [member wait_time].
2018-01-12 06:38:35 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "wait_time" type= "float" setter= "set_wait_time" getter= "get_wait_time" default= "1.0" >
2017-09-13 04:42:36 +08:00
Wait time in seconds.
</member>
</members>
<signals >
<signal name= "timeout" >
<description >
2018-09-17 01:52:21 +08:00
Emitted when the timer reaches 0.
2017-09-13 04:42:36 +08:00
</description>
</signal>
</signals>
<constants >
2017-11-25 06:16:30 +08:00
<constant name= "TIMER_PROCESS_PHYSICS" value= "0" enum= "TimerProcessMode" >
2018-09-17 01:52:21 +08:00
Update the timer during the physics step at each frame (fixed framerate processing).
2017-09-13 04:42:36 +08:00
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "TIMER_PROCESS_IDLE" value= "1" enum= "TimerProcessMode" >
2018-09-17 01:52:21 +08:00
Update the timer during the idle time at each frame.
2017-09-13 04:42:36 +08:00
</constant>
</constants>
</class>