From 6ebef9bdc5001178b098f2b25e040e164e86a5c1 Mon Sep 17 00:00:00 2001 From: Antimundo Date: Sat, 4 Nov 2023 15:36:54 +0100 Subject: [PATCH] Settings show current crosshair settings --- scenes/game_world/crosshair.gd | 16 +++--- scenes/main_menu/settings.tscn | 7 +-- scenes/main_menu/settings/slider_setting.gd | 5 +- scenes/main_menu/settings_crosshair.gd | 55 ++++++++++++--------- 4 files changed, 47 insertions(+), 36 deletions(-) diff --git a/scenes/game_world/crosshair.gd b/scenes/game_world/crosshair.gd index fcdbb3f..d3f17d1 100644 --- a/scenes/game_world/crosshair.gd +++ b/scenes/game_world/crosshair.gd @@ -7,8 +7,8 @@ var enable_outline := true var dot_enable := false var dot_size := 6.0 -var global_outline_width := 2.0 -var global_crosshair_thickness := 4.0 +var global_outline_width := 1.0 +var global_crosshair_thickness := 2.0 var global_crosshair_length := 12.0 var global_crosshair_gap := 5.0 @@ -34,20 +34,20 @@ func _on_options_refresh_crosshair(): queue_redraw() func load_save(): - if DataManager.get_data("Outline") != null: - enable_outline = DataManager.get_data("Outline") if DataManager.get_data("Dot") != null: dot_enable = DataManager.get_data("Dot") if DataManager.get_data("DotSize") != null: dot_size = DataManager.get_data("DotSize") - if DataManager.get_data("OutlineSize") != null: - global_outline_width = DataManager.get_data("OutlineSize") - if DataManager.get_data("CrosshairHeight") != null: - global_crosshair_thickness = DataManager.get_data("CrosshairThickness") if DataManager.get_data("CrosshairLength") != null: global_crosshair_length = DataManager.get_data("CrosshairLength") + if DataManager.get_data("CrosshairThickness") != null: + global_crosshair_thickness = DataManager.get_data("CrosshairThickness") if DataManager.get_data("CrosshairGap") != null: global_crosshair_gap = DataManager.get_data("CrosshairGap") + if DataManager.get_data("Outline") != null: + enable_outline = DataManager.get_data("Outline") + if DataManager.get_data("OutlineSize") != null: + global_outline_width = DataManager.get_data("OutlineSize") if DataManager.get_data("CrosshairColor") != null: global_color = Global.string_to_color(DataManager.get_data("CrosshairColor")) if DataManager.get_data("OutlineColor") != null: diff --git a/scenes/main_menu/settings.tscn b/scenes/main_menu/settings.tscn index 4b41b73..e326c63 100644 --- a/scenes/main_menu/settings.tscn +++ b/scenes/main_menu/settings.tscn @@ -137,6 +137,7 @@ layout_mode = 2 size_flags_horizontal = 3 [node name="Crosshair" type="Control" parent="HBoxContainer/Control2"] +visible = false layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -205,21 +206,21 @@ has_checkbox = false layout_mode = 2 label_text = "Thickness" max_value = 10.0 -value = 3.0 +value = 10.0 has_checkbox = false [node name="Gap" parent="HBoxContainer/Control2/Crosshair/MarginContainer/VBoxContainer/CrosshairSettings" instance=ExtResource("6_bpfs5")] layout_mode = 2 label_text = "Gap" max_value = 25.0 -value = 10.0 +value = 25.0 has_checkbox = false [node name="Outline" parent="HBoxContainer/Control2/Crosshair/MarginContainer/VBoxContainer/CrosshairSettings" instance=ExtResource("6_bpfs5")] layout_mode = 2 label_text = "Outline" max_value = 10.0 -value = 2.0 +value = 10.0 [node name="Color" type="HBoxContainer" parent="HBoxContainer/Control2/Crosshair/MarginContainer/VBoxContainer/CrosshairSettings"] layout_mode = 2 diff --git a/scenes/main_menu/settings/slider_setting.gd b/scenes/main_menu/settings/slider_setting.gd index 0339362..3972535 100644 --- a/scenes/main_menu/settings/slider_setting.gd +++ b/scenes/main_menu/settings/slider_setting.gd @@ -39,7 +39,8 @@ signal toggle_checkbox(value) @export var checkbox_value := true: set(value): - checkbox_value = value + checkbox_value = value + $CheckBox.button_pressed = value @onready var slider = $Slider @@ -51,5 +52,3 @@ func _on_slider_value_changed(new_value): func _on_check_box_toggled(button_pressed): toggle_checkbox.emit(button_pressed) - - diff --git a/scenes/main_menu/settings_crosshair.gd b/scenes/main_menu/settings_crosshair.gd index fd5a0bc..c6b5f7c 100644 --- a/scenes/main_menu/settings_crosshair.gd +++ b/scenes/main_menu/settings_crosshair.gd @@ -17,14 +17,6 @@ func _ready(): file_import.visible = false load_saved() -func _on_crosshair_color_color_changed(color): - DataManager.save_data("CrosshairColor", str(color)) - emit_signal("refresh_crosshair") - -func _on_outline_color_color_changed(color): - DataManager.save_data("OutlineColor", str(color)) - emit_signal("refresh_crosshair") - func _on_export_pressed(): if OS.has_feature("web"): DataManager.save_all_data_to_file_web() @@ -69,6 +61,12 @@ func _on_outline_change_value(value): func _on_gap_change_value(value): change_value("CrosshairGap", float(value)) +func _on_crosshair_color_color_changed(color): + change_value("CrosshairColor", str(color)) + +func _on_outline_color_color_changed(color): + change_value("OutlineColor", str(color)) + func change_value(key, value): DataManager.save_data(key, value) emit_signal("refresh_crosshair") @@ -82,17 +80,30 @@ func file_parser(args): DataManager.load_all_data_from_param(args[0]) func load_saved(): - var all_persist_groups = get_tree().get_nodes_in_group("Persist") - for persist_group in all_persist_groups: - match persist_group.get_class(): - "CheckButton": - if DataManager.get_data(persist_group.name) != null: - persist_group.set_pressed(DataManager.get_data(persist_group.name)) - "LineEdit": - if DataManager.get_data(persist_group.name) != null: - persist_group.text = str((DataManager.get_data(persist_group.name))) - "ColorPickerButton": - if DataManager.get_data(persist_group.name) != null: - persist_group.color = Global.string_to_color(DataManager.get_data(persist_group.name)) - _: - print("Not loaded") + if DataManager.get_data("Dot") != null: + $MarginContainer/VBoxContainer/CrosshairSettings/Dot.checkbox_value \ + = DataManager.get_data("Dot") + if DataManager.get_data("DotSize") != null: + $MarginContainer/VBoxContainer/CrosshairSettings/Dot.value \ + = DataManager.get_data("DotSize") + if DataManager.get_data("CrosshairLength") != null: + $MarginContainer/VBoxContainer/CrosshairSettings/Length.value \ + = DataManager.get_data("CrosshairLength") + if DataManager.get_data("CrosshairThickness") != null: + $MarginContainer/VBoxContainer/CrosshairSettings/Thickness.value \ + = DataManager.get_data("CrosshairThickness") + if DataManager.get_data("CrosshairGap") != null: + $MarginContainer/VBoxContainer/CrosshairSettings/Gap.value \ + = DataManager.get_data("CrosshairGap") + if DataManager.get_data("Outline") != null: + $MarginContainer/VBoxContainer/CrosshairSettings/Outline.checkbox_value \ + = DataManager.get_data("Outline") + if DataManager.get_data("OutlineSize") != null: + $MarginContainer/VBoxContainer/CrosshairSettings/Outline.value \ + = DataManager.get_data("OutlineSize") + if DataManager.get_data("CrosshairColor") != null: + $MarginContainer/VBoxContainer/CrosshairSettings/Color/CrosshairColor.color \ + = Global.string_to_color(DataManager.get_data("CrosshairColor")) + if DataManager.get_data("OutlineColor") != null: + $MarginContainer/VBoxContainer/CrosshairSettings/OutlineColor/OutlineColor.color \ + = Global.string_to_color(DataManager.get_data("OutlineColor"))