class_name Level extends Node3D signal level_started static var level: Level @export var active := false var start_time_msec := 0 static func start_game() -> void: if level: level.active = true level.level_started.emit() level.start_time_msec = Time.get_ticks_msec() static func is_active() -> bool: if level: return level.active else: return false func _ready() -> void: %ResultsScreen.hide() level = self if active: await get_tree().process_frame start_game.call_deferred() func _on_player_died() -> void: active = false %DeathAnimation.play(&"death") %ResultsScreen.update_labels() %ResultsScreen.show()