我对Unity3d中的protobuf-net有疑问。 是否可以序列化unity3d类型:GameObject。 例如,我在class属性中有类型GameObject,这个类是序列化/反序列化的吗?
using ProtoBuf;
using UnityEngine;
...
[ProtoContract]
public class Example
{
[ProtoMember(1)]
public int Count {get;set;}
[ProtoMember(2)]
public string Name {get;set;}
[ProtoMember(3)]
public GameObject MyGameObject {get;set;} // ???
}
抱歉,我的英文..
答案 0 :(得分:1)
您必须告诉protobuf-net您要序列化的类和属性。由于您无法使用属性修饰GameObject
,因此有不同的方法可以做到这一点。
您可以使用RuntimeTypeModel.Default
执行此操作,此处为类Point
的示例,它设置要序列化的属性X
和Y
。
RuntimeTypeModel.Default
.Add(typeof(System.Windows.Point), false).Add("X", "Y");
在这种情况下,您的GameObject
必须有默认构造函数。