file select and file creation, menus glued together

This commit is contained in:
Haze Weathers 2023-07-20 18:19:20 -04:00
parent 13708b4046
commit f7496c5e6f
18 changed files with 754 additions and 47 deletions

View file

@ -2,17 +2,18 @@ extends CanvasLayer
signal fade_finished
func fade_in(time, reverse = false, color = Color.black):
func fade_in(time, reverse: bool = false, color: Color = Color.black) -> void:
var rect = $TextureRect
rect.material.set_shader_param("color", color)
rect.material.set_shader_param("reverse", reverse)
$AnimationPlayer.play("FadeIn", -1, 1.0 / time)
func fade_out(time, reverse = false, color = Color.black):
func fade_out(time, reverse: bool = false, color: Color = Color.black) -> void:
var rect = $TextureRect
rect.material.set_shader_param("color", color)
rect.material.set_shader_param("reverse", reverse)
$AnimationPlayer.play("FadeOut", -1, 1.0 / time)
func _fade_finished(anim_name):
func _fade_finished(anim_name) -> void:
emit_signal("fade_finished")

View file

@ -17,6 +17,8 @@ var transition_speed_secs setget , _get_transition_speed_sex
var master_volume = 1.0 setget _set_master_volume
var music_volume = 1.0 setget _set_music_volume
var sound_volume = 1.0 setget _set_sound_volume
# last played file
var last_file: int = 0
# default values
var defaults = null
@ -46,6 +48,8 @@ func load_options():
_set_master_volume(file.get_value("audio", "master_volume", 1.0))
_set_music_volume(file.get_value("audio", "music_volume", 1.0))
_set_sound_volume(file.get_value("audio", "sound_volume", 1.0))
# last played file
last_file = file.get_value("save", "last_file", 0)
func save_options():
var file = ConfigFile.new()
@ -59,6 +63,9 @@ func save_options():
file.set_value("audio","master_volume",master_volume)
file.set_value("audio","music_volume",music_volume)
file.set_value("audio","sound_volume",sound_volume)
# last played file
file.set_value("save", "last_file", last_file)
# save the options to file
file.save("user://options.pr")
# Setters

View file

@ -142,11 +142,15 @@ var current_file: SaveFile = null
func _ready() -> void:
# TODO: make load last played file
current_file = load_file("user://file1.pr")
Game.difficulty = current_file.difficulty
current_file = load_file("user://file%d.pr" % Options.last_file)
if current_file:
Game.difficulty = current_file.difficulty
## shortcut for loading a save file from specific path
func load_file(path: String) -> SaveFile:
var file = SaveFile.new(path)
file.load_from_file()
return file
if File.new().file_exists(path):
var file = SaveFile.new(path)
file.load_from_file()
return file
else:
return null