1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-27 22:41:56 +08:00
Files
Dog-Lynx-And-HCN/scripts/Tools/Engines/SaveEngine.gd
T
fallingshrimp b1cb089705 feat(保存系统): 实现游戏存档功能
添加SaveEngine类用于处理游戏存档的序列化、加载和应用
修改GameBusManager在游戏重启时自动保存和加载存档
扩展JsonTool功能以支持文件解析和字符串序列化
更新StarterPanel添加教程观看状态保存
2026-05-09 21:25:27 +08:00

24 lines
777 B
GDScript

class_name SaveEngine
const SAVE_FILE = "user://save.json"
static func serialize():
return {
"out-game": {
"value": OutGameStorage.upgradableFieldsValue.duplicate(),
"level": OutGameStorage.upgradableFieldsLevel.duplicate()
},
"tutorial-watched": StarterPanel.tutorialWatched
}
static func apply(saveData: Dictionary):
OutGameStorage.upgradableFieldsValue = saveData["out-game"]["value"]
OutGameStorage.upgradableFieldsLevel = saveData["out-game"]["level"]
StarterPanel.tutorialWatched = saveData["tutorial-watched"]
static func load():
return JsonTool.parseFromFile(SAVE_FILE)
static func save():
var file = FileAccess.open(SAVE_FILE, FileAccess.ModeFlags.WRITE)
if file is FileAccess:
file.store_string(JsonTool.stringify(serialize()))
file.close()