1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-06 11:47:13 +08:00

feat(保存系统): 实现游戏存档功能

添加SaveEngine类用于处理游戏存档的序列化、加载和应用
修改GameBusManager在游戏重启时自动保存和加载存档
扩展JsonTool功能以支持文件解析和字符串序列化
更新StarterPanel添加教程观看状态保存
This commit is contained in:
2026-05-09 21:25:27 +08:00
parent d739771c1a
commit b1cb089705
6 changed files with 44 additions and 5 deletions
+23
View File
@@ -0,0 +1,23 @@
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()