unity 類的序列化

2021-07-15 07:59:16 字數 1315 閱讀 5679

概念:

序列化 (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將會序列化所有的指令碼化元件然...