Files
Station-0/scripts/save_manager.gd
T

30 lines
1.2 KiB
GDScript

extends Node
const SAVE_PATH := "user://save.cfg"
func save() -> void:
var data := ConfigFile.new()
data.set_value("upgrades", "parts", UpgradeManager.get_save_data())
data.set_value("upgrades", "hub_credits", UpgradeManager.hub_credits)
data.set_value("upgrades", "wallet_credits", UpgradeManager.wallet_credits)
data.set_value("cards", "collection", CardCollection.get_save_data())
data.set_value("npcs", "registry", NPCManager.get_save_data())
data.set_value("lore", "discovered", LoreManager.get_save_data())
data.save(SAVE_PATH)
func load_save() -> void:
if not FileAccess.file_exists(SAVE_PATH):
return
var data := ConfigFile.new()
data.load(SAVE_PATH)
UpgradeManager.load_save_data(data.get_value("upgrades", "parts", {}))
UpgradeManager.hub_credits = data.get_value("upgrades", "hub_credits", 0)
UpgradeManager.wallet_credits = data.get_value("upgrades", "wallet_credits", 0)
CardCollection.load_save_data(data.get_value("cards", "collection", {}))
NPCManager.load_save_data(data.get_value("npcs", "registry", {}))
LoreManager.load_save_data(data.get_value("lore", "discovered", []))
func delete_save() -> void:
if FileAccess.file_exists(SAVE_PATH):
DirAccess.remove_absolute(SAVE_PATH)