将 [Serializable] 与 mscorlib (Unity) 结合使用
Using [Serializable] with mscorlib (Unity)
我正在使用 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.
在我的代码中,为了保存游戏数据,我有一个 class 像这样:
[Serializable]
class GeneralGameData {
public bool muteMusic;
public bool muteSoundFX;
public bool muteVibration;
public int highestScoreAchieved;
}
这需要:
Using System;
当我 运行 玩游戏时,使用 mscorlib 似乎没问题,但会遇到严重的崩溃,这种崩溃时不时地破坏统一性,并且在随机点也会破坏游戏。我怀疑这可能与此有关。
任何人都可以指出正确的方向以了解如何使用 micro mscorlib 保存序列化数据吗?
干杯。
您可以查看 Mono compatibility reference 以了解哪些元素在 micro mscorlib 中不可用。
您会注意到 SerializableAttribute(名称空间系统,程序集 mscorlib)在 .NET 2.0、2.0 子集、Web 播放器和 Micro 中可用。 [Serializable] 的使用在这里不应该是错的。但是,您的实际序列化代码可能会间接依赖于 micro mscorelib 中不可用的内容。您始终可以使用 .NET Reflector 检查序列化程序代码以进行验证。
您可以查看 here 了解有关如何保存游戏数据的一些想法(以及您在序列化过程中可能遇到的一般问题)。
我正在使用 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.
在我的代码中,为了保存游戏数据,我有一个 class 像这样:
[Serializable]
class GeneralGameData {
public bool muteMusic;
public bool muteSoundFX;
public bool muteVibration;
public int highestScoreAchieved;
}
这需要:
Using System;
当我 运行 玩游戏时,使用 mscorlib 似乎没问题,但会遇到严重的崩溃,这种崩溃时不时地破坏统一性,并且在随机点也会破坏游戏。我怀疑这可能与此有关。
任何人都可以指出正确的方向以了解如何使用 micro mscorlib 保存序列化数据吗?
干杯。
您可以查看 Mono compatibility reference 以了解哪些元素在 micro mscorlib 中不可用。
您会注意到 SerializableAttribute(名称空间系统,程序集 mscorlib)在 .NET 2.0、2.0 子集、Web 播放器和 Micro 中可用。 [Serializable] 的使用在这里不应该是错的。但是,您的实际序列化代码可能会间接依赖于 micro mscorelib 中不可用的内容。您始终可以使用 .NET Reflector 检查序列化程序代码以进行验证。
您可以查看 here 了解有关如何保存游戏数据的一些想法(以及您在序列化过程中可能遇到的一般问题)。