extends CanvasLayer var _enabled := false func _ready(): visible = false EventBus.game_started.connect(func(): _enabled = true) EventBus.game_won.connect(func(): _enabled = false) EventBus.game_lost.connect(func(_reason: String): _enabled = false) func _unhandled_input(event): if not _enabled: return if event is InputEventKey and event.pressed and not event.echo and event.keycode == KEY_ESCAPE: _toggle() get_viewport().set_input_as_handled() func _toggle(): var paused := not get_tree().paused get_tree().paused = paused visible = paused