25 lines
585 B
GDScript
25 lines
585 B
GDScript
extends State
|
|
|
|
@export var wait_time: float = 3.0
|
|
|
|
var runtime_timer: Timer
|
|
|
|
func enter() -> void:
|
|
runtime_timer = Timer.new()
|
|
runtime_timer.name = "IdleTimer"
|
|
add_child(runtime_timer)
|
|
runtime_timer.one_shot = true
|
|
runtime_timer.timeout.connect(_on_timer_timeout)
|
|
runtime_timer.start(wait_time)
|
|
|
|
func exit() -> void:
|
|
if runtime_timer:
|
|
if runtime_timer.is_connected("timeout", _on_timer_timeout):
|
|
runtime_timer.timeout.disconnect(_on_timer_timeout)
|
|
|
|
runtime_timer.queue_free()
|
|
runtime_timer = null
|
|
|
|
func _on_timer_timeout() -> void:
|
|
transitioned.emit(self, "patrol")
|