From 5082eeb39bafa81e739f6f619b871b6353034767 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sun, 23 Mar 2025 14:53:30 -0400 Subject: [PATCH] Set the default value of the settings menu --- scenes/ui/menus/settings_menu.gd | 25 +++++++++++++++++++++++++ scenes/ui/menus/settings_menu.tscn | 4 +++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/scenes/ui/menus/settings_menu.gd b/scenes/ui/menus/settings_menu.gd index 014e71c..3b69e40 100644 --- a/scenes/ui/menus/settings_menu.gd +++ b/scenes/ui/menus/settings_menu.gd @@ -2,6 +2,10 @@ class_name SettingsMenu extends Panel +@export_group("Game Option Nodes") +@export var block_highlight_input: CheckButton +@export var waila_input: CheckButton + @export_group("Graphics Settings Nodes") @export var resolution_input: OptionButton @export var fullscreen_input: CheckBox @@ -10,6 +14,27 @@ extends Panel @export var fov_value_label: Label +func _ready() -> void: + apply_default_values() + + +func apply_default_values() -> void: + #region Game Options + block_highlight_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_block_highlight) + waila_input.set_pressed_no_signal(GameSettingsManager.settings.game_options.enable_waila) + #endregion + + #region Graphics Settings + # Changing the FOV value should trigger the value_changed signal which should update the camera and label automatically + fov_slider.value = GameSettingsManager.settings.graphics.fov + fullscreen_input.set_pressed_no_signal(GameSettingsManager.settings.graphics.fullscreen) + vsync_input.set_pressed_no_signal(GameSettingsManager.settings.graphics.vsync) + + var current_resolution_index: int = resolution_input.get_item_index(GameSettingsManager.settings.graphics.resolution_id) + resolution_input.select(current_resolution_index) + #endregion + + #region Game Settings func _on_block_highlighting_toggled(toggled_on: bool) -> void: GameSettingsManager.game_options_block_highlight_changed.emit(toggled_on) diff --git a/scenes/ui/menus/settings_menu.tscn b/scenes/ui/menus/settings_menu.tscn index cac1a44..79bfc88 100644 --- a/scenes/ui/menus/settings_menu.tscn +++ b/scenes/ui/menus/settings_menu.tscn @@ -14,7 +14,7 @@ corner_radius_top_right = 2 corner_radius_bottom_right = 2 corner_radius_bottom_left = 2 -[node name="SettingsMenu" type="Panel" node_paths=PackedStringArray("resolution_input", "fullscreen_input", "vsync_input", "fov_slider", "fov_value_label")] +[node name="SettingsMenu" type="Panel" node_paths=PackedStringArray("block_highlight_input", "waila_input", "resolution_input", "fullscreen_input", "vsync_input", "fov_slider", "fov_value_label")] process_mode = 3 anchors_preset = 15 anchor_right = 1.0 @@ -22,6 +22,8 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_qwcqe") +block_highlight_input = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Game/BlockHighlight/CheckButton") +waila_input = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Game/Waila/CheckButton") resolution_input = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Graphics/Resolution/OptionButton") fullscreen_input = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Graphics/Fullscreen/CheckBox") vsync_input = NodePath("Background/MarginContainer/VBoxContainer/TabContainer/Graphics/VSync/CheckBox")