diff --git a/src/level/LevelsManager.gd b/src/level/LevelsManager.gd index 460fff0..21ff8a5 100644 --- a/src/level/LevelsManager.gd +++ b/src/level/LevelsManager.gd @@ -105,8 +105,10 @@ func save_persistent(index:int)->void: var dest_dir = "user://%s/" % index dir.make_dir(dest_dir) file.open(dest_dir + "level.data",File.WRITE) - file.store_32(self.level) - file.store_var(self.global,true) + file.store_string(to_json({ + "level":self.level, + "global":self.global + })) file.close() #迁移数据到持久化目录 if dir.open(tmp_level_scene_path) == OK: @@ -138,15 +140,17 @@ func load_persistent(index:int)->void: if dir.current_is_dir(): print("Found directory: " + file_name) else: - var copy_result = dir.copy(dest_dir + file_name,tmp_level_scene_path + file_name) - if copy_result != OK: - print("读取存档失败",copy_result) + if file_name != "level.data": + var copy_result = dir.copy(dest_dir + file_name,tmp_level_scene_path + file_name) + if copy_result != OK: + print("读取存档失败",copy_result) file_name = dir.get_next() else: print("An error occurred when trying to access the path.") #读取楼层 file.open(dest_dir + "level.data",File.READ) - var level = file.get_32() - self.global = file.get_var(true) + var data = JSON.parse(file.get_as_text()).result + var level = data.level + self.global = data.global file.close() load_data(level)