Unity序列化

Unity序列化

Unity 的序列化是作用于 C# 类的字段 而非属性。

序列化规则

对于需要被序列化的字段,需要遵守一些规则

  • 访问修饰符是 public,或者具有 SerializeField 特性
  • static
  • const
  • 可以被序列化的字段类型
    • 基础数据结构(int, float, double, bool, string 等)
    • 枚举(32 位 或 以下)
    • 固定大小的缓冲区
    • Unity 内置类型(Vector2, Vector3, Rect, Color, Matrix4x4等)
    • 具有 Serializable 特性的 结构 与 类
    • 派生自 UnityEngine.Object 的对象引用(如 MonoBehaviour, ScriptableObject
    • Array,与 List 容器(包含数据类型必须可以被序列化才行,只支持一维,不支持嵌套容器,多维数组)

属性序列化

  • 只有属性有明确支持字段,且字段是可以序列化的情况下,才可属于序列化。
  • Unity 热重载期间可以使用自动属性来序列化

其余情况下,都不可以使用属性序列化。

你可能感兴趣的:(Unity杂项,unity,游戏引擎)