diff options
| author | Jan Tuomi <jan@jantuomi.fi> | 2025-11-27 19:19:49 +0200 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2025-11-27 19:29:29 +0200 |
| commit | 99be84042a7796fab592d46db3704f1e0058440d (patch) | |
| tree | 4cf51082912db2d2d923df78fdd7152b00b9e9a1 /pause_menu.gd | |
| parent | 0b0960c76c99e44632428cdeb116f5642181641a (diff) | |
Fix paused bug
Diffstat (limited to 'pause_menu.gd')
| -rw-r--r-- | pause_menu.gd | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/pause_menu.gd b/pause_menu.gd index e5a3129..6079519 100644 --- a/pause_menu.gd +++ b/pause_menu.gd @@ -2,9 +2,18 @@ class_name PauseMenu extends CanvasLayer var active_map_room: MapRoom +var active_page_index: int = 0 +@export var pages: Array[Node] func _ready(): deactivate() + $System/QuitButton.grab_focus.call_deferred() + $System/QuitButton.connect("pressed", _on_quit_button_pressed) + +func _process(_delta: float): + if visible and Input.is_action_just_pressed("jump"): + active_page_index = (active_page_index + 1) % pages.size() + refresh_page() func set_room_name(map_room_name: String): if active_map_room: active_map_room.unhighlight() @@ -19,9 +28,23 @@ func set_room_name(map_room_name: String): $Map.position = -pos + delta - active_map_room.size / 2 func activate(): + active_page_index = 0 visible = true + get_tree().paused = true get_tree().call_group("ui_movement", "set_visible", false) + refresh_page() func deactivate(): visible = false + get_tree().paused = false get_tree().call_group("ui_movement", "set_visible", true) + +func refresh_page(): + for i in range(pages.size()): + pages[i].visible = (active_page_index == i) + +func _on_quit_button_pressed() -> void: + if not visible: return + var top: Top = get_tree().root.get_node("Top") + top.get_transition_player().room_transition(null, "res://room_main_menu.tscn", null) + deactivate() |
