User settings are now saved

remotes/1705377932733043820/tmp_refs/heads/unbroken
Jan Heemstra 2021-09-11 15:22:08 +02:00
parent 4059c47c31
commit 01ddf2b25b
11 changed files with 65 additions and 32 deletions

View File

@ -0,0 +1,5 @@
extends "res://Assets/UI/Menu.gd"
func on_mouse_sensitivity_set(sensitivity):
GUI.set_mouse_sensitivity(sensitivity)
GUI.set_setting("Sensitivity", sensitivity)

View File

@ -1,8 +1,10 @@
[gd_scene load_steps=2 format=2]
[gd_scene load_steps=3 format=3 uid="uid://c6hqr4kqxt5rw"]
[ext_resource path="res://Assets/UI/Menu.tscn" type="PackedScene" id=1]
[ext_resource type="PackedScene" path="res://Assets/UI/Menu.tscn" id="1"]
[ext_resource type="Script" path="res://Assets/UI/ControlsMenu.gd" id="2_wjgrv"]
[node name="ControlsMenu" instance=ExtResource( 1 )]
[node name="ControlsMenu" instance=ExtResource( "1" )]
script = ExtResource( "2_wjgrv" )
[node name="MouseSensitivity" type="HBoxContainer" parent="." index="0"]
offset_right = 337.0
@ -13,17 +15,24 @@ script = null
offset_right = 133.0
offset_bottom = 26.0
text = "Mouse sensitivity"
structured_text_bidi_override_options = [ ]
structured_text_bidi_override_options = []
script = null
[node name="Slider" type="HSlider" parent="MouseSensitivity" index="1"]
offset_left = 137.0
offset_right = 337.0
offset_bottom = 16.0
rect_min_size = Vector2( 200, 0 )
rect_min_size = Vector2(200, 0)
min_value = 0.1
max_value = 2.0
step = 0.0
value = 0.1
exp_edit = true
script = null
[node name="Back" parent="." index="1"]
offset_top = 30.0
offset_right = 337.0
offset_bottom = 59.0
[connection signal="value_changed" from="MouseSensitivity/Slider" to="." method="on_mouse_sensitivity_set"]

View File

@ -6,12 +6,16 @@ var settings = {}
func _ready():
if has_settings():
load_settings()
print(settings)
apply_settings()
func has_settings():
var filecheck = File.new()
return filecheck.file_exists(settings_filename)
func set_setting(key, value):
settings[key] = value
save_settings()
func save_settings():
var file = File.new()
file.open(settings_filename, File.WRITE)
@ -24,5 +28,23 @@ func load_settings():
settings = file.get_var()
file.close()
func apply_settings():
for key in settings.keys():
match key:
"Fullscreen":
toggle_fullscreen(settings[key])
"Sensitivity":
set_mouse_sensitivity(settings[key])
# These functions are for applying settings changes
func quit_game():
get_tree().quit()
func toggle_fullscreen(is_fullscreen):
if is_fullscreen:
get_tree().get_root().mode = Window.MODE_FULLSCREEN
else:
get_tree().get_root().mode = Window.MODE_WINDOWED
func set_mouse_sensitivity(sensitivity):
pass

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=4 format=3 uid="uid://b856vwmg8a6o4"]
[ext_resource type="PackedScene" path="res://Assets/UI/MenuButton.tscn" id="1"]
[ext_resource type="PackedScene" uid="uid://d135tevauvmoq" path="res://Assets/UI/MenuButton.tscn" id="1"]
[ext_resource type="PackedScene" path="res://Assets/UI/Menu.tscn" id="2"]
[ext_resource type="Script" path="res://Assets/UI/GUI.gd" id="3"]

View File

@ -1,11 +1,5 @@
extends "res://Assets/UI/Menu.gd"
# Called when the node enters the scene tree for the first time.
func _ready():
pass
func toggle_fullscreen(button_pressed):
if button_pressed:
get_tree().get_root().mode = Window.MODE_FULLSCREEN
else:
get_tree().get_root().mode = Window.MODE_WINDOWED
func on_fullscreen_toggled(button_pressed):
GUI.toggle_fullscreen(button_pressed)
GUI.set_setting("Fullscreen", button_pressed)

View File

@ -1,13 +1,13 @@
[gd_scene load_steps=4 format=2]
[gd_scene load_steps=4 format=3 uid="uid://cd6qhohan2oa1"]
[ext_resource path="res://Assets/UI/Menu.tscn" type="PackedScene" id=1]
[ext_resource path="res://Assets/UI/GraphicsMenu.gd" type="Script" id=2]
[ext_resource path="res://Assets/UI/MenuCheckButton.tscn" type="PackedScene" id=3]
[ext_resource type="PackedScene" path="res://Assets/UI/Menu.tscn" id="1"]
[ext_resource type="Script" path="res://Assets/UI/GraphicsMenu.gd" id="2"]
[ext_resource type="PackedScene" uid="uid://bl1fc5cl4fcav" path="res://Assets/UI/MenuCheckButton.tscn" id="3"]
[node name="GraphicsMenu" instance=ExtResource( 1 )]
script = ExtResource( 2 )
[node name="GraphicsMenu" instance=ExtResource( "1" )]
script = ExtResource( "2" )
[node name="Fullscreen" parent="." index="0" instance=ExtResource( 3 )]
[node name="Fullscreen" parent="." index="0" instance=ExtResource( "3" )]
anchor_right = 0.0
anchor_bottom = 0.0
offset_right = 76.0
@ -19,4 +19,4 @@ offset_top = 44.0
offset_right = 76.0
offset_bottom = 73.0
[connection signal="data_changed" from="Fullscreen" to="." method="toggle_fullscreen"]
[connection signal="toggled" from="Fullscreen" to="." method="on_fullscreen_toggled"]

View File

@ -1,6 +1,8 @@
extends VBoxContainer
var previous_menu : Node = null
var settings = {}
@onready var GUI = get_parent()
# Called when the node enters the scene tree for the first time.
func _ready():
@ -17,3 +19,4 @@ func go_back():
previous_menu.show()
previous_menu = null
queue_free()

View File

@ -1,11 +1,11 @@
[gd_scene load_steps=2 format=2]
[gd_scene load_steps=2 format=3 uid="uid://d135tevauvmoq"]
[ext_resource path="res://Assets/UI/MenuButton.gd" type="Script" id=1]
[ext_resource type="Script" path="res://Assets/UI/MenuButton.gd" id="1"]
[node name="MenuButton" type="Button"]
anchor_right = 1.0
anchor_bottom = 1.0
script = ExtResource( 1 )
script = ExtResource( "1" )
__meta__ = {
"_edit_use_anchors_": false
}

View File

@ -1,11 +1,11 @@
[gd_scene load_steps=2 format=2]
[gd_scene load_steps=2 format=3 uid="uid://bl1fc5cl4fcav"]
[ext_resource path="res://Assets/UI/MenuCheckButton.gd" type="Script" id=1]
[ext_resource type="Script" path="res://Assets/UI/MenuCheckButton.gd" id="1"]
[node name="MenuCheckButton" type="CheckButton"]
anchor_right = 1.0
anchor_bottom = 1.0
script = ExtResource( 1 )
script = ExtResource( "1" )
__meta__ = {
"_edit_use_anchors_": false
}

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://d37bped35n16j"]
[ext_resource type="PackedScene" path="res://Assets/UI/Menu.tscn" id="1"]
[ext_resource type="PackedScene" path="res://Assets/UI/MenuButton.tscn" id="2"]
[ext_resource type="PackedScene" uid="uid://d135tevauvmoq" path="res://Assets/UI/MenuButton.tscn" id="2"]
[node name="OptionsMenu" instance=ExtResource( "1" )]

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=12 format=3 uid="uid://b1078bn8gy2qf"]
[ext_resource type="PackedScene" path="res://Assets/MapComponents/SpawnPoint.tscn" id="1"]
[ext_resource type="PackedScene" uid="uid://bfs2skkrik1xb" path="res://Assets/Props/BeerCan.glb" id="3"]
[ext_resource type="PackedScene" uid="uid://831g53oe7qt8" path="res://Assets/Props/BeerCan.glb" id="3"]
[ext_resource type="PackedScene" uid="uid://w476ulvte1f6" path="res://Assets/Maps/DM1/DM1.glb" id="6"]
[sub_resource type="GDScript" id="GDScript_gjkl2"]