Unity:序列化

什么是序列化

序列化是一种用来处理对象流的机制,所谓对象流就是将对象内容进行流化,将数据分解成字节流,以便存储在文件中或在网络上传输。

序列化的作用

在Unity中序列化有以下3个作用:

  1. 可以显示变量(类,结构等)在inspector(检视面板)上
  2. 数据持久化
  3. 网络传输

序列化关键字

  1. Serializable: 用于 自定义的,非 abstract 的类. 结构体等 , 使这类型也能序列化
  2. SerializeField: 用于 非public 类型(如private), 使非public 类型也能序列化

哪些可被序列化

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

  2. 不是 static

  3. 不是 const

  4. 不是 readonly

  5. 类型必须是 Unity 可以序列化的类型

可以被Unity序列化的类型

  1. 自定义的,非 abstract 的类,且有 [Serializable]

  2. 有 [Serializable] 的结构体

  3. UnityEngine.Object 的子类的引用

  4. 原生类型(int,float,double,bool,string, etc)

  5. 以上类型的数组

  6. 以上类型的 List

参考资料:
unity中的序列化
Unity Serialization 序列化
Unity 序列化 总结

猜你喜欢

转载自blog.csdn.net/m0_53438035/article/details/124374617