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:
@@ -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()
|
||||
Reference in New Issue
Block a user