Script Serialization
http://docs.unity3d.com/Manual/script-Serialization.html
自定义序列化及例子:
http://docs.unity3d.com/ScriptReference/ISerializationCallbackReceiver.OnBeforeSerialize.html
以下是上面2篇的摘要:
脚本的字段需要满足什么条件才能被序列化?(必须同时满足)
1. public 类型,或者有 [SerializeField]
2. 不是 static
3. 不是 const
4. 不是 readonly
5. 类型必须是 Unity 可以序列化的类型
Unity 可以序列化哪类型?
1. 自定义的,非 abstract 的类,且有 [Serializable]
2. 有 [Serializable] 的结构体
3. UnityEngine.Object 的子类的引用
4. 原生类型(int,float,double,bool,string, etc)
5. 以上类型的数组
6. 以上类型的 List<T>
ISerializationCallbackReceiver.OnBeforeSerialize
ISerializationCallbackReceiver.OnAfterDeserialize
摘要:
1、Unity 会帮你创建对象,并将值设置为你在编辑器中设置的值。
2、序列化发生在另一个线程。
3、当你需要自定义序列化时,只序列化那些 Unity 原生不支持的类型
时间: 2024-11-07 13:11:23