diff options
| author | Radio <radiohotline@disroot.org> | 2026-05-31 00:17:01 +0300 |
|---|---|---|
| committer | Radio <radiohotline@disroot.org> | 2026-05-31 00:17:01 +0300 |
| commit | 7f437327b25be23b1cdcd4aa3898d428421e533f (patch) | |
| tree | 555cece0119bd0673712cd4304a3a28ba0cc3c82 /scenes/ui/menu.gd | |
| parent | 9d87bc7922f76dc835ac4d4e99115b204cbfdea7 (diff) | |
menu fixes, options menu, and movement mechanic
Diffstat (limited to 'scenes/ui/menu.gd')
| -rw-r--r-- | scenes/ui/menu.gd | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/scenes/ui/menu.gd b/scenes/ui/menu.gd index 16882a4..a60336b 100644 --- a/scenes/ui/menu.gd +++ b/scenes/ui/menu.gd @@ -1,20 +1,42 @@ extends CanvasLayer -var menu: CanvasLayer +func pause() -> void: + Menu.visible = true + get_tree().paused = true + + +func resume() -> void: + Menu.visible = false + get_tree().paused = false + + +func _ready() -> void: + resume() + func _input(event: InputEvent) -> void: - if event.is_action_pressed("ui_menu"): - if menu: - menu.queue_free() - menu = null + if event.is_action_pressed("ui_menu") and get_tree().current_scene.scene_file_path != "res://scenes/ui/title.tscn": + if get_tree().paused: + resume() else: - menu = load("uid://dqhxjaxlgy4yf").instantiate() - add_child(menu) + pause() +func _on_start_pressed() -> void: + get_tree().change_scene_to_file("res://scenes/room/start.tscn") + func _on_main_menu_pressed() -> void: + resume() get_tree().change_scene_to_file("res://scenes/ui/title.tscn") func _on_quit_pressed() -> void: get_tree().quit() + + +func _on_options_pressed() -> void: + if !has_node("Options"): + var options = load("res://scenes/ui/options.tscn").instantiate() + add_child(options) + options.menu_node = self + process_mode = Node.PROCESS_MODE_DISABLED |
