51 lines
1.0 KiB
GDScript
51 lines
1.0 KiB
GDScript
extends Control
|
|
|
|
var settings_filename = "user://settings.save"
|
|
var settings = {}
|
|
|
|
func _ready():
|
|
if has_settings():
|
|
load_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)
|
|
file.store_var(settings)
|
|
file.close()
|
|
|
|
func load_settings():
|
|
var file = File.new()
|
|
file.open(settings_filename, File.READ)
|
|
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
|