reset settings button + saving window mode + saving settings in main menu
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
extends Control
|
||||
class_name GuiSettings
|
||||
|
||||
@onready var settings : SettingsData = GameInfo.settings_data
|
||||
@onready var settings: SettingsData = GameInfo.settings_data
|
||||
|
||||
@export_tool_button("Open", "Callable") var open_action = open_settings
|
||||
@export_tool_button("Close", "Callable") var close_action = close_settings
|
||||
@@ -20,11 +20,30 @@ func _ready():
|
||||
%SettingsWindow.closed.connect(
|
||||
func():
|
||||
GameInfo.save_settings()
|
||||
hide()
|
||||
)
|
||||
|
||||
TwitchConnection.pseudo_gathered_updated.connect(
|
||||
func (_p):update_twitch_pseudo()
|
||||
func(_p): update_twitch_pseudo()
|
||||
)
|
||||
hide()
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if settings:
|
||||
var window_mode := DisplayServer.window_get_mode()
|
||||
if window_mode != settings.window_mode:
|
||||
settings.window_mode = window_mode
|
||||
GameInfo.save_settings()
|
||||
if window_mode == DisplayServer.WINDOW_MODE_WINDOWED:
|
||||
var window := get_tree().root.get_window()
|
||||
var changed := false
|
||||
if settings.window_size != window.size:
|
||||
settings.window_size = window.size
|
||||
changed = true
|
||||
if settings.window_pos != window.position:
|
||||
settings.window_pos = window.position
|
||||
changed = true
|
||||
if changed:
|
||||
GameInfo.save_settings()
|
||||
|
||||
func open_settings():
|
||||
setup_languages()
|
||||
@@ -40,6 +59,7 @@ func open_settings():
|
||||
func close_settings():
|
||||
GameInfo.save_settings()
|
||||
%SettingsWindow.close_window()
|
||||
hide()
|
||||
|
||||
func setup_languages():
|
||||
var optionButton := (%LanguageOptionButton as OptionButton)
|
||||
@@ -55,7 +75,7 @@ func setup_sound():
|
||||
%SFXSlider.value = settings.sfx_volume
|
||||
|
||||
func setup_video():
|
||||
%FullScreenCheckBox.button_pressed = settings.full_screen
|
||||
%FullScreenCheckBox.button_pressed = settings.window_mode == DisplayServer.WINDOW_MODE_FULLSCREEN
|
||||
%UiSizeSlider.value = settings.ui_size
|
||||
|
||||
func setup_controls():
|
||||
@@ -82,7 +102,7 @@ func _on_language_option_button_item_selected(index: int):
|
||||
|
||||
|
||||
func _on_full_screen_check_box_toggled(toggled_on: bool):
|
||||
settings.full_screen = toggled_on
|
||||
settings.window_mode = DisplayServer.WINDOW_MODE_FULLSCREEN if toggled_on else DisplayServer.WINDOW_MODE_WINDOWED
|
||||
|
||||
func _on_master_slider_drag_ended(_value_changed: bool) -> void:
|
||||
%MasterTestPlayer.play()
|
||||
@@ -122,3 +142,14 @@ func _on_twitch_channel_line_edit_editing_toggled(toggled_on: bool):
|
||||
|
||||
func _on_story_mode_difficulty_option_button_item_selected(index: int):
|
||||
settings.story_mode_difficulty = index
|
||||
|
||||
func _on_reset_pressed() -> void:
|
||||
settings.reset_settings()
|
||||
setup_languages()
|
||||
setup_sound()
|
||||
setup_video()
|
||||
setup_controls()
|
||||
setup_difficulty()
|
||||
setup_twitch()
|
||||
update_twitch_pseudo()
|
||||
GameInfo.save_settings()
|
||||
|
||||
Reference in New Issue
Block a user