saves are a facade

This commit is contained in:
Haze Weathers 2023-12-30 21:18:19 -05:00
parent 95cb99ff49
commit 6031536c39

View file

@ -110,49 +110,46 @@ class SaveFile:
# loads data from the file at `path` # loads data from the file at `path`
func load_from_file() -> void: func load_from_file() -> void:
var file = ConfigFile.new() return
file.load(file_path) # var file = ConfigFile.new()
# get save format version # file.load(file_path)
version = file.get_value("options", "version", 0) # # get save format version
# load name # version = file.get_value("options", "version", 0)
name = file.get_value("options", "name", "SG") # # load name
# load difficulty # name = file.get_value("options", "name", "SG")
difficulty = file.get_value("options", "difficulty", Game.Difficulty.SPICY) # # load difficulty
# load playtime # difficulty = file.get_value("options", "difficulty", Game.Difficulty.SPICY)
play_time = file.get_value("options", "play_time", 0.0) # # load playtime
# TODO: load bought palettes # play_time = file.get_value("options", "play_time", 0.0)
# TODO: load selected palette # # TODO: load bought palettes
# load level save data # # TODO: load selected palette
for level_save in levels.values(): # # load level save data
level_save.load_from_file(file) # for level_save in levels.values():
# level_save.load_from_file(file)
func save_to_file() -> void: func save_to_file() -> void:
var file = ConfigFile.new() return
# use current format version # var file = ConfigFile.new()
file.set_value("options", "version", FORMAT_VERSION) # # use current format version
# save name # file.set_value("options", "version", FORMAT_VERSION)
file.set_value("options", "name", name) # # save name
# save difficulty # file.set_value("options", "name", name)
file.set_value("options", "difficulty", difficulty) # # save difficulty
# save playtime # file.set_value("options", "difficulty", difficulty)
file.set_value("options", "play_time", play_time) # # save playtime
# TODO: save bought palettes # file.set_value("options", "play_time", play_time)
# TODO: save selected palette # # TODO: save bought palettes
# save level data # # TODO: save selected palette
for level in levels.values(): # # save level data
level.save_to_file(file) # for level in levels.values():
file.save(file_path) # level.save_to_file(file)
# file.save(file_path)
## currently used save file ## currently used save file
var current_file: SaveFile = null var current_file: SaveFile = null
func _ready() -> void: func _ready() -> void:
# TODO: make load last played file current_file = SaveFile.new("user://demo_save.pr")
current_file = load_file("user://demo_save.pr")
if current_file:
Game.difficulty = current_file.difficulty
else:
current_file = SaveFile.new("user://demo_save.pr")
## shortcut for loading a save file from specific path ## shortcut for loading a save file from specific path
func load_file(path: String) -> SaveFile: func load_file(path: String) -> SaveFile: