online multiplayer chess game (note server currently down)
Diffstat (limited to 'ui/Settings.gd')
-rw-r--r--ui/Settings.gd36
1 files changed, 34 insertions, 2 deletions
diff --git a/ui/Settings.gd b/ui/Settings.gd
index 273de7e..192a599 100644
--- a/ui/Settings.gd
+++ b/ui/Settings.gd
@@ -1,14 +1,31 @@
extends Control
-onready var piece_sets = Utils.walk_dir()
-onready var piece_set_button = $ColorRect/HBoxContainer/VBoxContainer/PieceSet
+onready var piece_sets: Array = Utils.walk_dir()
+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
+
+var settings := {"vsync": OS.vsync_enabled, "fullscreen": OS.window_fullscreen, "borderless": OS.window_borderless} setget set_settings
+
+
+func set_settings(new_settings):
+ toggle_button_visuals(new_settings)
+ settings = new_settings
func toggle(onoff):
visible = onoff
+func toggle_button_visuals(set = settings):
+ vsyncbutton.pressed = set["vsync"]
+ fullscreenbutton.pressed = set["fullscreen"]
+ borderlessbutton.pressed = !set["borderless"]
+
+
func _ready():
+ toggle_button_visuals()
for i in piece_sets:
piece_set_button.add_icon_item(load("res://assets/pieces/" + i + "/wP.png"), i)
piece_set_button.selected = 0
@@ -25,3 +42,18 @@ func _on_BackButton_pressed():
func _on_PieceSet_item_selected(index):
Globals.piece_set = piece_sets[index]
+
+
+func _on_VsyncButton_toggled(button_pressed: bool):
+ OS.vsync_enabled = button_pressed
+ self.settings.vsync = button_pressed
+
+
+func _on_FullscreenButton_toggled(button_pressed: bool):
+ OS.window_fullscreen = button_pressed
+ self.settings.fullscreen = button_pressed
+
+
+func _on_Borderless_toggled(button_pressed: bool):
+ self.settings.borderless = !button_pressed
+ OS.window_borderless = !button_pressed