mirror of
https://github.com/godotengine/godot-demo-projects.git
synced 2026-01-06 07:50:22 +01:00
37 lines
546 B
GDScript
37 lines
546 B
GDScript
class_name Test
|
|
extends Node
|
|
|
|
|
|
var _timer
|
|
var _timer_started = false
|
|
|
|
|
|
func start_timer(timeout):
|
|
if _timer == null:
|
|
_timer = Timer.new()
|
|
_timer.one_shot = true
|
|
add_child(_timer)
|
|
_timer.connect("timeout", self, "_on_timer_done")
|
|
else:
|
|
cancel_timer()
|
|
|
|
_timer.start(timeout)
|
|
_timer_started = true
|
|
|
|
return _timer
|
|
|
|
|
|
func cancel_timer():
|
|
if _timer_started:
|
|
_timer.paused = true
|
|
_timer.emit_signal("timeout")
|
|
_timer.paused = false
|
|
|
|
|
|
func is_timer_canceled():
|
|
return _timer.paused
|
|
|
|
|
|
func _on_timer_done():
|
|
_timer_started = false
|