diff options
author | tpart <tpart120@proton.me> | 2025-08-31 12:32:42 +0200 |
---|---|---|
committer | tpart <tpart120@proton.me> | 2025-08-31 12:32:42 +0200 |
commit | 005be6d7efc606f69483aff87e540f3ce8ea9fb6 (patch) | |
tree | 7bcd7606e04bf6bd97b4c282a92b47ec4b950bee | |
parent | 1153f8b8c6dafa7284caadceefff327ad6ca28a5 (diff) | |
download | hurrycurry-005be6d7efc606f69483aff87e540f3ce8ea9fb6.tar hurrycurry-005be6d7efc606f69483aff87e540f3ce8ea9fb6.tar.bz2 hurrycurry-005be6d7efc606f69483aff87e540f3ce8ea9fb6.tar.zst |
Add option to toggle overlay visibility
-rw-r--r-- | client/menu/game.gd | 11 | ||||
-rw-r--r-- | client/project.godot | 5 | ||||
-rw-r--r-- | client/settings.gd | 1 | ||||
-rw-r--r-- | locale/en.ini | 1 |
4 files changed, 18 insertions, 0 deletions
diff --git a/client/menu/game.gd b/client/menu/game.gd index 889bbbe9..1516f4b8 100644 --- a/client/menu/game.gd +++ b/client/menu/game.gd @@ -21,11 +21,13 @@ class_name GameMenu @onready var overlay: Overlay = $Overlay @onready var popup_message: PopupMessage = $PopupMessage @onready var chat_preview: ChatPreview = $ChatPreview +@onready var pinned_items: PinnedItemMessages = $PinnedItemMessages func _ready(): get_tree().get_root().go_back_requested.connect(open_ingame_menu) super() transition.set_loading_text(tr("c.menu.game.connecting")) + Settings.hook_changed_init("ui.hide_overlays", false, apply_hide_overlays) func _input(_event): if Input.is_action_just_pressed("ui_menu"): @@ -36,6 +38,9 @@ func _input(_event): chat_preview.visible = false await submenu("res://menu/communicate/chat/chat_open.tscn") chat_preview.visible = true + + if Input.is_action_just_pressed("toggle_overlay"): + Global.set_setting("ui.hide_overlays", not Global.get_setting("ui.hide_overlays")) func _menu_cover(state): game.follow_camera.disable_input_menu = state @@ -51,3 +56,9 @@ func open_ingame_menu(): if popup != null: return Sound.play_click() submenu("res://menu/ingame.tscn") + +func apply_hide_overlays(v: bool): + overlay.visible = v + pinned_items.visible = v + chat_preview.visible = v + popup_message.visible = false diff --git a/client/project.godot b/client/project.godot index e3bbec06..622a02ad 100644 --- a/client/project.godot +++ b/client/project.godot @@ -215,6 +215,11 @@ menu={ , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null) ] } +toggle_overlay={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194332,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} [input_devices] diff --git a/client/settings.gd b/client/settings.gd index 978c0fac..a17e79fa 100644 --- a/client/settings.gd +++ b/client/settings.gd @@ -57,6 +57,7 @@ static func get_root(): SettingsCategory.new("ui", [ DropdownSetting.new("touch_controls", "automatic", ["automatic", "enabled", "disabled"]), DropdownSetting.new("language", "system", Global.language_list()), + ToggleSetting.new("hide_overlays", false), DropdownSetting.new("scale_mode", "resize", ["resize", "disabled"]), RangeSetting.new("scale_factor", 1. if not Global.on_mobile() else 1.5, 0.5, 1.5, 3), ]), diff --git a/locale/en.ini b/locale/en.ini index 8a2847d4..8ea1a460 100644 --- a/locale/en.ini +++ b/locale/en.ini @@ -202,6 +202,7 @@ c.settings.ui.scale_factor=UI scale factor c.settings.ui.scale_mode.disabled=Disabled c.settings.ui.scale_mode.resize=Resize c.settings.ui.scale_mode=UI scale mode +c.settings.ui.hide_overlays=Hide in-game overlays (Orders, timer, etc.) c.settings.ui.touch_controls.automatic=Automatic c.settings.ui.touch_controls.disabled=Disabled c.settings.ui.touch_controls.enabled=Enabled |