online multiplayer chess game (note server currently down)
Diffstat (limited to 'ui/Settings.gd')
| -rw-r--r-- | ui/Settings.gd | 44 |
1 files changed, 40 insertions, 4 deletions
diff --git a/ui/Settings.gd b/ui/Settings.gd index 579b2b8..f121df8 100644 --- a/ui/Settings.gd +++ b/ui/Settings.gd @@ -5,12 +5,16 @@ onready var piece_set_button := $ColorRect/HBoxContainer/VBoxContainer/PieceSet onready var fullscreenbutton := $ColorRect/HBoxContainer/VBoxContainer2/FullscreenButton onready var vsyncbutton := $ColorRect/HBoxContainer/VBoxContainer2/VsyncButton onready var borderlessbutton := $ColorRect/HBoxContainer/VBoxContainer2/Borderless +onready var preview: Preview = $ColorRect/HBoxContainer/VBoxContainer/Preview + +onready var board_color1: ColorPickerButtonBetter = $ColorRect/HBoxContainer/VBoxContainer3/boardcolor1 +onready var board_color2: ColorPickerButtonBetter = $ColorRect/HBoxContainer/VBoxContainer3/boardcolor2 onready var settings: Dictionary = SaveLoad.files["settings"]["data"] setget set_settings func set_settings(new_settings) -> void: - toggle_button_visuals(new_settings) + update_button_visuals(new_settings) settings = new_settings SaveLoad.files["settings"]["data"] = settings SaveLoad.save("settings") @@ -20,18 +24,35 @@ func toggle(onoff) -> void: visible = onoff -func toggle_button_visuals(set = settings) -> void: +func update_button_visuals(set = settings) -> void: vsyncbutton.pressed = set["vsync"] fullscreenbutton.pressed = set["fullscreen"] borderlessbutton.pressed = !set["borderless"] - piece_set_button.selected = Array(piece_sets).find(settings.piece_set) + preview.update_preview() func _ready() -> void: + SaveLoad.load_data("settings") + board_color1.color = settings.board_color1 + board_color2.color = settings.board_color2 for i in piece_sets: # add the items piece_set_button.add_icon_item(load("res://assets/pieces/" + i + "/wP.png"), i) - toggle_button_visuals() + piece_set_button.selected = Array(piece_sets).find(settings.piece_set) Globals.piece_set = piece_sets[piece_set_button.selected] + Globals.board_color1 = settings.board_color1 + Globals.board_color2 = settings.board_color2 + update_button_visuals() + + +func update_vars() -> void: + Globals.piece_set = piece_sets[piece_set_button.selected] + Globals.board_color1 = board_color1.color + Globals.board_color2 = board_color2.color + OS.vsync_enabled = settings.vsync + OS.window_fullscreen = settings.fullscreen + OS.window_borderless = settings.borderless + SaveLoad.files["settings"]["data"] = settings + SaveLoad.save("settings") func _input(event) -> void: @@ -61,3 +82,18 @@ func _on_FullscreenButton_toggled(button_pressed: bool) -> void: func _on_Borderless_toggled(button_pressed: bool) -> void: self.settings.borderless = !button_pressed OS.window_borderless = !button_pressed + + +func _on_boardcolor1_newcolor(color: Color): + Globals.board_color1 = color + self.settings.board_color1 = color + + +func _on_boardcolor2_newcolor(color: Color): + Globals.board_color2 = color + self.settings.board_color2 = color + + +func _on_resetbutton_pressed(): + self.settings = SaveLoad.default_settings_data.duplicate(true) + update_vars() |