作用:在編輯器面板上持久序列化一個接口或者抽象類對象
特點:
1.添加SerializeReference
后, 即使字段是私有的, 也無需添加SerializeField
屬性, 二者同有將私有字段序列化的能力.
2.SerializeReference
屬性允許字段為null
, 這點與默認序列化行為不同, 默認序列化會自動實例化一個值
3.添加[field: SerializeField]
后, 屬性也可以像字段一樣被序列化, 但是其label
會顯示為<屬性名>k__BackingField
, 如果不希望這種現象,可以將屬性轉化為完整屬性并為對應的私有字段添加SerializeField
.
4.SerializeReference
還可以修飾List<T>
和T[]
用處:
比如當你想要像public int a;一樣在Inspector面板持久序列化保存一個接口或者抽象類對象變量數據,或者在ScriptableObject中持久序列化保存接口或者抽象類對象變量數據,這時你就需要為變量添加[SerializeReference]特性