SerializeField
来源:互联网 发布:数据漏斗 excel 编辑:程序博客网 时间:2024/06/06 01:15
描述
强制统一序列化一个私有字段。
你几乎永远都不需要这个。当Unity序列化您的脚本时,它将只会序列化公有字段。如果除此之外,你还希望Unity序列化一个你的私有字段,你可以将SerializeField属性添加到该字段。
Unity将序列化所有脚本组件,重新加载新程序集,并从序列化的版本中重新创建脚本组件。这个序列化不会在.NET的序列化功能中完成,而是内置在Unity。
所使用的序列化系统可以执行以下操作:
- 能序列化公共非静态字段(可序列化类型)
- 能可串行化标记为[SerializeField]属性的非公开非静态字段。
- 无法序列化静态字段。
- 不能序列化属性。
您的字段只有当unity可以序列化该种类型时才会被序列化:可序列化类型是:
- 所有继承自UnityEngine.Object的类,例如GameObject,Component,MonoBehaviour,Texture2D,AnimationClip。
- 所有基本数据类型,如int,string,float,bool。
- 一些内置的类型,如Vector2,Vector3,Vector4,Quaternion,Matrix4x4,Color,Rect,LayerMask。
- 可序列化类型的数组 - 可序列化类型的
列表) - 枚举
- 结构
注意:如果将一个元素放在列表(或数组)中两次,当列表被序列化时,您将获得该元素的两个副本一个副本在新列表中两次。
提示:Unity不会序列化Dictionary,但是您可以存储List的List <>和List <>的值,并在Awake()中的非序列化字典中进行缝合。这并不能解决您何时修改字典并将其“保存”回来的问题,但在许多其他情况下,这是一个很好的方法。
对于UnityScript用户:c#中的字段是UnityScript中的脚本变量,[SerializeField]变为@SerializeField。一个类上的[Serializable]在UnityScript中成为@script Serializable。
阅读全文
0 0
- SerializeField
- HideInInspector SerializeField
- HideInInspector 与SerializeField
- SerializeField 序列化域
- HideInInspector 与SerializeField
- unity3d 序列化SerializeField
- Unity3D:HideInInspector和SerializeField
- HideInInspector 与SerializeField
- SerializeField和Serializable
- Unity 之SerializeField
- SerializeField和Serializable
- U3d [SerializeField]介绍
- Unity中HideInInspector和SerializeField
- Unity中HideInInspector和SerializeField
- Unity中HideInInspector和SerializeField
- Unity中HideInInspector和SerializeField
- Unity中HideInInspector和SerializeField
- Unity中HideInInspector和SerializeField
- Apache Solr-6.0.1 (OpenLogic CentOS 7.2)
- android闹钟-极客学院
- 关于cocosjs中html5加载到应用中背景透明的设置
- 安卓集成第三方--使用ShareSdk实现登录和分享
- 【PAT 1006Cars on Campus (30)】
- SerializeField
- MacOS 开发
- iOS In-App Purchase 内购之问题总结
- 去除一段文字前面的数字的一段函数
- springboot admin 监控hystrix
- (转载)多线程编程学习二(对象及变量的并发访问)
- java菜鸟---------求100以内的完美立方
- 面试总结
- 短网址访问重定向到长网址时笔记