Che*_*rno 5 serialization unity-game-engine
背景:从 Monobehaviour 继承的类无法序列化。
前提:一种保存 MonoBehaviour 脚本的数据(变量/字段及其值)的方法,以便可以将其序列化,并再次反序列化并使用此数据“填充”相应的 MonoBehaviour 脚本的变量/字段值。
到目前为止尝试过:
List<FieldInfo>并用 MB 的字段填充它...有效 30%;
FieldInfos添加但类型错误,并且我觉得这不会那么难,但我的反思技能和相关技能是有限的,但鉴于保存/加载是一个相当常见的功能,我希望有人做到了,或者有人可以为我指明正确的方向。
使用 .NET 中内置的 BinaryFormatter 序列化 MonoBehaviour 没有简单的方法。您可以考虑以下几种选择:
使用 Unity 序列化,通过声明方法:
无效序列化(){}
无效反序列化(){}
在您的 MonoBehaviour 脚本中,您将在方法中选择要序列化/反序列化的属性/字段。
有一个有趣的框架,源代码在GitHub上。它有一个自定义序列化框架,可以让您序列化几乎所有内容(不仅仅是单一行为)。我没用过,这里是Unity3d论坛的论坛页面,相信值得一看。