extends Node2D @onready var _timer_label: Label = $CanvasLayer/TimerLabel @onready var _spawn_control = $SpawnControl var _debug_menu_script = preload("res://scripts/debug_menu.gd") var _game_over_scene = preload("res://scenes/game_over.tscn") func _ready(): MusicManager.play(preload("res://assets/music&sfx/music/ashveil-355633.mp3")) add_child(_debug_menu_script.new()) $Witch.died.connect(_on_witch_died) func _process(_delta: float) -> void: var t = int(_spawn_control.elapsed_time) _timer_label.text = "%02d:%02d" % [t / 60, t % 60] func _on_witch_died(killer) -> void: var witch = $Witch var player = $Player $PauseMenu.process_mode = Node.PROCESS_MODE_DISABLED get_tree().paused = true var overlay_layer = CanvasLayer.new() overlay_layer.layer = 10 overlay_layer.process_mode = Node.PROCESS_MODE_ALWAYS add_child(overlay_layer) var overlay = ColorRect.new() overlay.color = Color(0, 0, 0, 0) overlay.anchor_right = 1.0 overlay.anchor_bottom = 1.0 overlay.grow_horizontal = Control.GROW_DIRECTION_BOTH overlay.grow_vertical = Control.GROW_DIRECTION_BOTH overlay_layer.add_child(overlay) var highlight_layer = CanvasLayer.new() highlight_layer.layer = 11 highlight_layer.follow_viewport_enabled = true highlight_layer.process_mode = Node.PROCESS_MODE_ALWAYS add_child(highlight_layer) witch.reparent(highlight_layer, true) player.reparent(highlight_layer, true) if is_instance_valid(killer): killer.reparent(highlight_layer, true) var tween = create_tween() tween.set_pause_mode(Tween.TWEEN_PAUSE_PROCESS) tween.tween_property(overlay, "color", Color(0, 0, 0, 0.85), 2.5) await tween.finished var game_over = _game_over_scene.instantiate() add_child(game_over)