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 原生不支持的類型

相關文章
相關標籤/搜索