Unity 序列化

Script Serializationhtml

http://docs.unity3d.com/Manual/script-Serialization.html数组

自定义序列化及例子:编辑器

http://docs.unity3d.com/ScriptReference/ISerializationCallbackReceiver.OnBeforeSerialize.html线程

 

如下是上面2篇的摘要:3d

脚本的字段须要知足什么条件才能被序列化?(必须同时知足)htm

1. public 类型,或者有 [SerializeField]对象

2. 不是 staticip

3. 不是 constget

4. 不是 readonlystring

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

摘要:

一、Unity 会帮你建立对象,并将值设置为你在编辑器中设置的值。

二、序列化发生在另外一个线程。

三、当你须要自定义序列化时,只序列化那些 Unity 原生不支持的类型

相关文章
相关标签/搜索