online multiplayer chess game (note server currently down)
better settings
bendn 2022-07-17
parent 041507e · commit a9e7466
-rw-r--r--saveload.gd10
-rw-r--r--ui/colorpicker/ColorPicker.tscn72
-rw-r--r--ui/colorpicker/ColorPickerButton.gd16
-rw-r--r--ui/colorpicker/ColorPickerButton.tscn4
-rw-r--r--ui/menus/settings/Settings.gd18
-rw-r--r--ui/menus/settings/Settings.tscn2
6 files changed, 67 insertions, 55 deletions
diff --git a/saveload.gd b/saveload.gd
index cbdb8f4..ab59e8b 100644
--- a/saveload.gd
+++ b/saveload.gd
@@ -3,16 +3,6 @@ class_name SaveLoader
var file: File = File.new()
-const default_settings_data = {
- vsync = OS.vsync_enabled,
- fullscreen = OS.window_fullscreen,
- borderless = OS.window_borderless,
- piece_set = "california",
- board_color1 = Color(0.870588, 0.890196, 0.901961),
- board_color2 = Color(0.54902, 0.635294, 0.678431),
- rainbow = false
-}
-
static func to_base64(variant) -> String:
return Marshalls.variant_to_base64(variant)
diff --git a/ui/colorpicker/ColorPicker.tscn b/ui/colorpicker/ColorPicker.tscn
index 3bbde35..d39ed16 100644
--- a/ui/colorpicker/ColorPicker.tscn
+++ b/ui/colorpicker/ColorPicker.tscn
@@ -11,11 +11,11 @@
[ext_resource path="res://ui/colorpicker/ColorSelect.material" type="Material" id=11]
[sub_resource type="DynamicFont" id=1]
-size = 17
+size = 26
font_data = ExtResource( 4 )
fallback/0 = ExtResource( 2 )
-[node name="ColorPicker" type="Control"]
+[node name="ColorPicker" type="MarginContainer"]
margin_right = 125.0
margin_bottom = 125.0
rect_min_size = Vector2( 125, 125 )
@@ -25,35 +25,35 @@ __meta__ = {
}
[node name="V" type="VBoxContainer" parent="."]
-margin_right = 125.0
-margin_bottom = 125.0
+margin_right = 185.0
+margin_bottom = 185.0
custom_constants/separation = 5
[node name="H" type="HBoxContainer" parent="V"]
-margin_right = 125.0
-margin_bottom = 100.0
+margin_right = 185.0
+margin_bottom = 150.0
custom_constants/separation = 5
-[node name="HueSlider" type="Control" parent="V/H"]
-margin_right = 20.0
-margin_bottom = 100.0
-rect_min_size = Vector2( 20, 100 )
+[node name="HueSlider" type="MarginContainer" parent="V/H"]
+margin_right = 30.0
+margin_bottom = 150.0
+rect_min_size = Vector2( 30, 150 )
size_flags_vertical = 0
script = ExtResource( 6 )
[node name="ShaderHolder" type="ColorRect" parent="V/H/HueSlider"]
show_behind_parent = true
material = ExtResource( 10 )
-anchor_right = 1.0
-anchor_bottom = 1.0
+margin_right = 30.0
+margin_bottom = 150.0
mouse_filter = 2
color = Color( 1, 0, 0, 1 )
-[node name="ColorSelect" type="Control" parent="V/H"]
-margin_left = 25.0
-margin_right = 125.0
-margin_bottom = 100.0
-rect_min_size = Vector2( 100, 100 )
+[node name="ColorSelect" type="MarginContainer" parent="V/H"]
+margin_left = 35.0
+margin_right = 185.0
+margin_bottom = 150.0
+rect_min_size = Vector2( 150, 150 )
hint_tooltip = "click it!"
size_flags_horizontal = 0
size_flags_vertical = 0
@@ -62,20 +62,20 @@ script = ExtResource( 7 )
[node name="ShaderHolder" type="ColorRect" parent="V/H/ColorSelect"]
show_behind_parent = true
material = ExtResource( 11 )
-anchor_right = 1.0
-anchor_bottom = 1.0
+margin_right = 150.0
+margin_bottom = 150.0
mouse_filter = 2
[node name="H2" type="HBoxContainer" parent="V"]
-margin_top = 105.0
-margin_right = 125.0
-margin_bottom = 125.0
+margin_top = 155.0
+margin_right = 185.0
+margin_bottom = 185.0
custom_constants/separation = 0
[node name="Close" type="Button" parent="V/H2"]
-margin_right = 20.0
-margin_bottom = 20.0
-rect_min_size = Vector2( 20, 0 )
+margin_right = 30.0
+margin_bottom = 30.0
+rect_min_size = Vector2( 30, 30 )
focus_mode = 0
mouse_default_cursor_shape = 2
theme = ExtResource( 3 )
@@ -83,23 +83,23 @@ custom_fonts/font = SubResource( 1 )
text = ""
[node name="Spacer" type="Control" parent="V/H2"]
-margin_left = 20.0
-margin_right = 25.0
-margin_bottom = 20.0
+margin_left = 30.0
+margin_right = 35.0
+margin_bottom = 30.0
rect_min_size = Vector2( 5, 0 )
[node name="OldColorView" type="ColorRect" parent="V/H2"]
-margin_left = 25.0
-margin_right = 75.0
-margin_bottom = 20.0
-rect_min_size = Vector2( 50, 20 )
+margin_left = 35.0
+margin_right = 110.0
+margin_bottom = 30.0
+rect_min_size = Vector2( 75, 30 )
script = ExtResource( 9 )
[node name="NewColorPreview" type="ColorRect" parent="V/H2"]
-margin_left = 75.0
-margin_right = 125.0
-margin_bottom = 20.0
-rect_min_size = Vector2( 50, 20 )
+margin_left = 110.0
+margin_right = 185.0
+margin_bottom = 30.0
+rect_min_size = Vector2( 75, 30 )
[connection signal="hue_changed" from="V/H/HueSlider" to="V/H/ColorSelect" method="_hue_changed"]
[connection signal="color_changed" from="V/H/ColorSelect" to="." method="_color_changed"]
diff --git a/ui/colorpicker/ColorPickerButton.gd b/ui/colorpicker/ColorPickerButton.gd
index 6368665..4184bde 100644
--- a/ui/colorpicker/ColorPickerButton.gd
+++ b/ui/colorpicker/ColorPickerButton.gd
@@ -4,6 +4,7 @@ class_name ColorPickerButtonBetter
onready var popup: Popup = $Popup
onready var colorpicker := $Popup/ColorPicker
+signal changed(color)
signal newcolor(color)
var color: Color setget set_color
@@ -14,10 +15,10 @@ func set_color(newcolor: Color) -> void:
add_color_override("font_color", color)
-func _on_ColorPicker_done(newcolor: Color) -> void:
- set_color(newcolor)
+func done(clr: Color) -> void:
+ set_color(clr)
popup.hide()
- emit_signal("newcolor", color)
+ emit_signal("newcolor", clr)
func _pressed() -> void:
@@ -25,3 +26,12 @@ func _pressed() -> void:
rect.position = rect_global_position + Vector2(50, 50)
popup.popup(rect)
colorpicker.open(color)
+
+
+func _on_popup_hidden():
+ done(colorpicker.color)
+
+
+func changed(clr: Color):
+ set_color(clr)
+ emit_signal("changed", clr)
diff --git a/ui/colorpicker/ColorPickerButton.tscn b/ui/colorpicker/ColorPickerButton.tscn
index a170f06..a2e63b6 100644
--- a/ui/colorpicker/ColorPickerButton.tscn
+++ b/ui/colorpicker/ColorPickerButton.tscn
@@ -39,4 +39,6 @@ margin_top = 10.0
margin_right = -10.0
margin_bottom = -10.0
-[connection signal="done" from="Popup/ColorPicker" to="." method="_on_ColorPicker_done"]
+[connection signal="popup_hide" from="Popup" to="." method="_on_popup_hidden"]
+[connection signal="color_changed" from="Popup/ColorPicker" to="." method="changed"]
+[connection signal="done" from="Popup/ColorPicker" to="." method="done"]
diff --git a/ui/menus/settings/Settings.gd b/ui/menus/settings/Settings.gd
index 79bf0f6..7151d9e 100644
--- a/ui/menus/settings/Settings.gd
+++ b/ui/menus/settings/Settings.gd
@@ -14,10 +14,10 @@ onready var rainbow = find_node("rainbow")
onready var settings: Dictionary = default_settings_data setget set_settings
-const default_settings_data = {
- vsync = OS.vsync_enabled,
- fullscreen = OS.window_fullscreen,
- borderless = OS.window_borderless,
+const default_settings_data := {
+ vsync = false,
+ fullscreen = false,
+ borderless = false,
piece_set = "california",
board_color1 = Color(0.870588, 0.890196, 0.901961),
board_color2 = Color(0.54902, 0.635294, 0.678431),
@@ -95,13 +95,21 @@ func _on_boardcolor1_newcolor(color: Color) -> void:
self.settings.board_color1 = color
+func _on_boardcolor1_changed(color: Color):
+ preview.update_preview(color, settings.board_color2, settings.piece_set)
+
+
func _on_boardcolor2_newcolor(color: Color) -> void:
Globals.board_color2 = color
self.settings.board_color2 = color
+func _on_boardcolor2_changed(color: Color):
+ preview.update_preview(settings.board_color1, color, settings.piece_set)
+
+
func _on_resetbutton_pressed() -> void:
- self.settings = SaveLoad.default_settings_data.duplicate(true)
+ self.settings = default_settings_data.duplicate()
update_vars()
diff --git a/ui/menus/settings/Settings.tscn b/ui/menus/settings/Settings.tscn
index 706d1d5..b7007f0 100644
--- a/ui/menus/settings/Settings.tscn
+++ b/ui/menus/settings/Settings.tscn
@@ -159,7 +159,9 @@ __meta__ = {
"_edit_group_": true
}
+[connection signal="changed" from="H/TabContainer//boardcolor1" to="." method="_on_boardcolor1_changed"]
[connection signal="newcolor" from="H/TabContainer//boardcolor1" to="." method="_on_boardcolor1_newcolor"]
+[connection signal="changed" from="H/TabContainer//boardcolor2" to="." method="_on_boardcolor2_changed"]
[connection signal="newcolor" from="H/TabContainer//boardcolor2" to="." method="_on_boardcolor2_newcolor"]
[connection signal="selected" from="H/TabContainer//PieceSet" to="." method="_on_PieceSet_selected"]
[connection signal="toggled" from="H/TabContainer//FullscreenButton" to="." method="_on_FullscreenButton_toggled"]