使用[Serializable]和mscorlib(Unity)

时间:2016-02-23 12:56:31

标签: c# ios serialization unity3d mscorlib

我正在使用Unity构建iOS游戏,并在文档中进行优化,它说:

Don’t use anything that lives in System.dll or System.Xml.dll in your code. These libraries are not compatible with micro mscorlib.

这是link to that page

在我的代码中,为了保存游戏数据,我有一个类似的类:

[Serializable]
class GeneralGameData {
    public bool muteMusic;
    public bool muteSoundFX;
    public bool muteVibration;
    public int highestScoreAchieved;
}

需要:

Using System;

当我运行游戏时,mscorlib似乎可以使用它,但是会遇到一个令人讨厌的崩溃,一次又一次地杀死团结的崩溃以及随机点的游戏。我怀疑它可能与此有关。

有人能指出我如何用micro mscorlib保存序列化数据吗?

干杯。

1 个答案:

答案 0 :(得分:0)

您可以查看Mono compatibility reference,了解micro mscorlib中哪些元素不可用。

您会注意到SerializableAttribute(名称空间系统,程序集mscorlib)在.NET 2.0,2.0子集,Web播放器和Micro中可用。在这里使用[Serializable]不应该是错误的。但是,您的实际序列化代码可能间接依赖于微型mscorelib中不可用的内容。您始终可以使用.NET Reflector检查序列化程序代码以进行验证。

您可以查看here有关如何保存游戏数据的一些想法(以及您在序列化过程中可能遇到的一些问题)。