hero-mark-2/scripts/save.gd
2023-02-13 02:30:44 -05:00

41 lines
1.2 KiB
GDScript

extends Node
var file
func load_file(file_number):
var new_file = ConfigFile.new()
new_file.load("user://file%d.pr" % file_number)
file = new_file
func get_level_data(save_id):
var shards = []
shards.resize(8)
for i in 8:
shards[i] = file.get_value(save_id, "shard_%d" % i, false)
return {
# any% score and time
score_any = file.get_value(save_id, "score_any", 0),
time_any = file.get_value(save_id, "time_any", INF),
# 100% score and time
score_100 = file.get_value(save_id, "score_100", 0),
time_100 = file.get_value(save_id, "time_100", INF),
shards = shards
}
func load_options():
Game.use_lives = file.get_value("options","uselives",Game.use_lives)
func set_shard_collected(save_id, index, collected = true):
file.set_value(save_id, "shard_%d" % index, collected)
func set_score(save_id, score, is_100 = false):
file.set_value(save_id, "score_100" if is_100 else "score_any", int(score))
func set_options():
file.set_value("options","uselives",Game.use_lives)
func set_time(save_id, time, is_100 = false):
file.set_value(save_id, "time_100" if is_100 else "time_any", float(time))
func save_file(file_number):
file.save("user://file%d.pr" % file_number)