概念:
序列化 (serialization)將物件的狀態資訊轉換為可以儲存或傳輸的形式的過程。在序列化期間,物件將其當前狀態寫入到臨時或永續性儲存區。以後,可以通過從儲存區中讀取或反序列化物件的狀態,重新建立該物件。
實現例子:
寫乙個myclass類,提供了可被序列化的屬性,如下
using unityengine;
using unityeditor;
[initializeonload]
public class myclass : scriptableobject
public void setinttest(int value)
public void setstrtest(string value)
public void setstrindex(int index)
private void dirtyeditor()
public bool boolentest }
public int inttest }
public string strtest }
public int strindex }
[serializefield]
private bool boolentest = true;
[serializefield]
private int inttest = 1;
[serializefield]
private string strtest = "hello world";
[serializefield]
private int strindex = 0;
public string strlist = new string ;
private static myclass _instance;
public static myclass instance
if (_instance == null)
return _instance;}}
}
測試:
效果如下:
大功告成
Unity 的序列化
經過 serialize 序列化 的 class 或 attribute 的值會被儲存成二進位制檔案,在 unity 中可序列化的 attribute 將在 inspector 顯示出來 class 與 public attribute 都是被視為可序列化的 private attribute 被視...
Unity 序列化和反序列化
1 序列化就是將物件儲存在檔案中,在檢視面板看到的就是成功序列化的內容 與序列化相關的常用的關鍵字有serializefield,hideininspector,nonserialized,serializable並可以組合使用。serializefield 表示變數可被序列化。眾所周知,公有變數可...
Unity 序列化型別總結
介紹unity常用的與序列化相關的屬性,總結一下unity的序列化系統 unity在序列化指令碼時,它只會序列化公有字段,如果想要序列化私有字段,就需要為該字段新增serializefield特性,該特性用於強制序列化私有字段 序列化的目的是為了進行本地儲存,unity將會序列化所有的指令碼化元件然...