相关疑难解决方法(0)

在Unity中保存/加载数据

我一直在使用Unity中的保存和加载,我将序列化的类保存到文件中.我有一个Serializable类:

[Serializable]
class Save
{
    public List<int> ID = new List<int>();
    public List<int> Amounts = new List<int>();
}
Run Code Online (Sandbox Code Playgroud)

并将其保存到文件A-OK.我可以加载它没有错误,但如果我想稍后添加:

[Serializable]
class Save
{
    public List<int> ID = new List<int>();
    public List<int> Amounts = new List<int>();
    public int extra = 0;
}
Run Code Online (Sandbox Code Playgroud)

我运行我的脚本它给了我一个反序列化错误,我完全理解,当我将反序列化文件转换为我的新类'保存'时,我添加的新变量不存在,它给了我错误.

我在商店中修复资产时发现了这个错误,我知道一个修复可以只是更改文件名,因此创建了一个新文件,但我不想只删除之前保存的内容.

所以我的问题是,如果我想在我的序列化类中添加更多变量,如果人们要更新资产,我将如何捕获并调整旧版本的变量?

谢谢!

c# serialization unity-game-engine

6
推荐指数
1
解决办法
5334
查看次数

标签 统计

c# ×1

serialization ×1

unity-game-engine ×1