diff --git a/Game/Assets/HUD/Theme.tres b/Game/Assets/HUD/Theme.tres index 369d5de..dba7140 100644 --- a/Game/Assets/HUD/Theme.tres +++ b/Game/Assets/HUD/Theme.tres @@ -1,9 +1,9 @@ [gd_resource type="Theme" load_steps=10 format=3 uid="uid://ddtu7o1dbp0s8"] -[ext_resource type="FontData" uid="uid://bvp75f670ewmh" path="res://Assets/Fonts/Liberation Sans/LiberationSans-Italic.ttf" id="1"] -[ext_resource type="FontData" uid="uid://bu513u0hckm6v" path="res://Assets/Fonts/Liberation Sans/LiberationSans-Bold.ttf" id="2"] -[ext_resource type="FontData" uid="uid://c1efeg0l6epya" path="res://Assets/Fonts/Liberation Sans/LiberationMono-Regular.ttf" id="3"] -[ext_resource type="FontData" uid="uid://dm2ua4ixk71jw" path="res://Assets/Fonts/Liberation Sans/LiberationSans-Regular.ttf" id="4"] +[ext_resource type="FontData" uid="uid://sv606h1wylsm" path="res://Assets/Fonts/Liberation Sans/LiberationSans-Italic.ttf" id="1"] +[ext_resource type="FontData" uid="uid://dedcmqi18s2mk" path="res://Assets/Fonts/Liberation Sans/LiberationSans-Bold.ttf" id="2"] +[ext_resource type="FontData" uid="uid://vokxbnewve4p" path="res://Assets/Fonts/Liberation Sans/LiberationMono-Regular.ttf" id="3"] +[ext_resource type="FontData" uid="uid://y4ub4mqw3ok4" path="res://Assets/Fonts/Liberation Sans/LiberationSans-Regular.ttf" id="4"] [sub_resource type="Font" id="Font_5hkhv"] variation_coordinates = { diff --git a/Game/Assets/UI/ControlsMenu.gd b/Game/Assets/UI/ControlsMenu.gd index cd74b18..1c75abf 100644 --- a/Game/Assets/UI/ControlsMenu.gd +++ b/Game/Assets/UI/ControlsMenu.gd @@ -1,5 +1,6 @@ extends "res://Assets/UI/Menu.gd" func on_mouse_sensitivity_set(sensitivity): - GUI.set_mouse_sensitivity(sensitivity) - GUI.set_setting("Sensitivity", sensitivity) + if GUI: + GUI.set_mouse_sensitivity(sensitivity) + GUI.set_setting("Sensitivity", sensitivity) diff --git a/Game/Assets/UI/GraphicsMenu.gd b/Game/Assets/UI/GraphicsMenu.gd index b17c88d..89e2e70 100644 --- a/Game/Assets/UI/GraphicsMenu.gd +++ b/Game/Assets/UI/GraphicsMenu.gd @@ -1,5 +1,6 @@ extends "res://Assets/UI/Menu.gd" func on_fullscreen_toggled(button_pressed): - GUI.toggle_fullscreen(button_pressed) - GUI.set_setting("Fullscreen", button_pressed) + if GUI: + GUI.toggle_fullscreen(button_pressed) + $Fullscreen.save_data() diff --git a/Game/Assets/UI/GraphicsMenu.tscn b/Game/Assets/UI/GraphicsMenu.tscn index 69b5f4f..5771e9c 100644 --- a/Game/Assets/UI/GraphicsMenu.tscn +++ b/Game/Assets/UI/GraphicsMenu.tscn @@ -13,6 +13,7 @@ anchor_bottom = 0.0 offset_right = 76.0 offset_bottom = 40.0 label = "Fullscreen" +index = "Fullscreen" [node name="Back" parent="." index="1"] offset_top = 44.0 diff --git a/Game/Assets/UI/MenuCheckButton.gd b/Game/Assets/UI/MenuCheckButton.gd index 4998bc1..c51681e 100644 --- a/Game/Assets/UI/MenuCheckButton.gd +++ b/Game/Assets/UI/MenuCheckButton.gd @@ -1,5 +1,9 @@ extends "res://Assets/UI/MenuData.gd" +func set_data(_data): + super.set_data(_data) + self.pressed = _data + func on_label_changed(): self.text = label diff --git a/Game/Assets/UI/MenuData.gd b/Game/Assets/UI/MenuData.gd index 9334e8d..6970e6a 100644 --- a/Game/Assets/UI/MenuData.gd +++ b/Game/Assets/UI/MenuData.gd @@ -1,7 +1,17 @@ extends "res://Assets/UI/MenuItem.gd" +@export var index = "" +@onready var GUI = get_parent().get_parent() + signal data_changed(data) +func _ready(): + if index in GUI.settings.keys(): + set_data(GUI.settings[index]) + +func set_data(_data): + data = _data + var data = null: set(_data): emit_signal("data_changed", _data) @@ -9,7 +19,5 @@ var data = null: save_data() func save_data(): - var GUI = get_parent().get_parent() - - GUI.settings[label] = data + GUI.settings[index] = data GUI.save_settings() diff --git a/Game/Assets/UI/MenuData.tscn b/Game/Assets/UI/MenuData.tscn index 558297b..38c426a 100644 --- a/Game/Assets/UI/MenuData.tscn +++ b/Game/Assets/UI/MenuData.tscn @@ -1,7 +1,7 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=3 format=3 uid="uid://dox43qpj23u7h"] -[ext_resource path="res://Assets/UI/MenuItem.tscn" type="PackedScene" id=1] -[ext_resource path="res://Assets/UI/MenuData.gd" type="Script" id=2] +[ext_resource type="PackedScene" uid="uid://bkp5pgcdwbksh" path="res://Assets/UI/MenuItem.tscn" id="1"] +[ext_resource type="Script" path="res://Assets/UI/MenuData.gd" id="2"] -[node name="MenuData" instance=ExtResource( 1 )] -script = ExtResource( 2 ) +[node name="MenuData" instance=ExtResource( "1" )] +script = ExtResource( "2" ) diff --git a/Game/Assets/UI/MenuItem.tscn b/Game/Assets/UI/MenuItem.tscn index 173ba8f..0ce4475 100644 --- a/Game/Assets/UI/MenuItem.tscn +++ b/Game/Assets/UI/MenuItem.tscn @@ -1,11 +1,11 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://bkp5pgcdwbksh"] -[ext_resource path="res://Assets/UI/MenuItem.gd" type="Script" id=1] +[ext_resource type="Script" path="res://Assets/UI/MenuItem.gd" id="1"] [node name="MenuItem" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 -script = ExtResource( 1 ) +script = ExtResource( "1" ) __meta__ = { "_edit_use_anchors_": false } diff --git a/Game/Assets/UI/MenuSlider.gd b/Game/Assets/UI/MenuSlider.gd new file mode 100644 index 0000000..18c7e3c --- /dev/null +++ b/Game/Assets/UI/MenuSlider.gd @@ -0,0 +1,11 @@ +extends "res://Assets/UI/MenuData.gd" + +func set_data(_data): + super.set_data(_data) + self.value = _data + +func on_label_changed(): + $Label.text = label + +func on_value_changed(value): + data = value diff --git a/Game/Assets/UI/MenuSlider.tscn b/Game/Assets/UI/MenuSlider.tscn new file mode 100644 index 0000000..fce9211 --- /dev/null +++ b/Game/Assets/UI/MenuSlider.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=2 format=3 uid="uid://bwqwic7ex6muv"] + +[ext_resource type="Script" path="res://Assets/UI/MenuSlider.gd" id="1_vhxwo"] + +[node name="MenuSlider" type="HBoxContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( "1_vhxwo" ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="."] +offset_top = 288.0 +offset_right = 1.0 +offset_bottom = 311.0 +structured_text_bidi_override_options = [] +script = null + +[node name="Slider" type="HSlider" parent="."] +offset_left = 5.0 +offset_right = 21.0 +offset_bottom = 16.0 +script = null + +[connection signal="value_changed" from="Slider" to="." method="on_value_changed"] diff --git a/Game/Main.tscn b/Game/Main.tscn index de022f7..c108533 100644 --- a/Game/Main.tscn +++ b/Game/Main.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://o68cawatyat2"] [ext_resource type="PackedScene" uid="uid://b1078bn8gy2qf" path="res://Map.tscn" id="1"] -[ext_resource type="PackedScene" path="res://Assets/UI/GUI.tscn" id="2"] +[ext_resource type="PackedScene" uid="uid://b856vwmg8a6o4" path="res://Assets/UI/GUI.tscn" id="2"] [ext_resource type="Script" path="res://Main.gd" id="3"] [ext_resource type="PackedScene" uid="uid://bff5uslrxesjx" path="res://Assets/HUD/HUD.tscn" id="4"] @@ -23,6 +23,9 @@ structured_text_bidi_override_options = [] [node name="Editor" parent="HUD/Chat/VBoxContainer/Typing" index="1"] structured_text_bidi_override_options = [] +[node name="RespawnCountdown" parent="HUD" index="3"] +structured_text_bidi_override_options = [] + [node name="GUI" parent="." instance=ExtResource( "2" )] [node name="Players" type="Node3D" parent="."]