[Header("标题")] : 面板标题 在U3D的Inspactor面板显示一个标题
[Tooltip("血量")] : 悬停的注释 当鼠标悬停在该变量在Inspector面板上时,显示有一个Tip提示,提示内容就是参数
[Space( )] : 上下字段的空行 仅能修饰字段,使该字段与上一个字段间出现间隔
[Range(10,100)] : 显示滑条范围 修饰float和int类型,使其在Inspector显示成一个滑动条,参数是最大值和最小值
注: 参数只能显示在面板操作的最大最小值,并不能限制实际的值
显示文本: [Multiline(5)] : 仅能修饰字符串,使其显示多行,默认不写参数显示3行 : 此处显示的是5行
[TextArea()] : 显示一个带有滚动区域的文本框,默认显示3行,超过3行显示滚动条, 例如: [ TextArea(2,5) ] 最少显示2行,最多显示5行,超过5行显示滚动条
[HideInspector] : 隐藏字段 , 仅仅在 Inspector隐藏了,该变量还是和 可序列化的
小注释: 一般公共的基础类型的变量都是可序列化的转成可序列化 [SerializeField] : 修饰变量的,使得其可转变成可序列化对象, 私有的变量一般都是不可序列化的
[System.NonSerialized] : 修饰字段,使其变成不可序列化对象,它是System命名空间下的
[ContexMenuItem("Funcl","Text")] : 使其在Inspector面板鼠标,右键点击该变量时,出现一个按钮第一个参数 表示 按钮的名字 ,第二个参数,表示要执行的方法,保证要有该方法且需 要成员方法
[ContexMene(" ")] : 修饰成员方法,使其在该脚本的右上侧齿轮里出现一个 名字叫做该参数的选项点击该选项,执行该特性的修饰方法
[UnityEditor.MenuItem(" ")] : 修饰静态方法,使其在菜单栏多出一个选项,参数是一个层级结构,至少两层UnityEditor: 命名空间
三、修饰类
[System.Serializable] : 修饰类或结构体,使其该对象变为可序列化的该类下的可序列化字段在Inspector面板显示
[AddComponentMenu(" ",3 )] : 在AddComponent按钮下加一个菜单选项第一个参数是支持层级结构的, 第二参数代表第一个选项参数的顺序
[RequireComponent(typeof(BoxColider))] : 该特性 意思是, 修饰的类依赖于参数里的类,当修饰的类挂到物体上时,会检查该物体上是否有依赖的组件,如果有,不会重复的添加,如果没有依赖的组件,会默认添加依赖的组件
[ExecuteInEditMode] : 修饰的类在编辑模式下执行, Awake Start Update 都会执行
注释: 与运行模式不同, 该特性修饰的类 是指在场景中的某个物体发生改变时 执行
[InitializeOnLoad] : 允许在 Unity 加载时和重新编译脚本时初始化 Editor 类。
重新编译项目中的脚本时,会调用带有此属性的静态构造函数。在 Unity 首次加载项目时、在 Unity 检测到脚本修改时,以及当进入运行模式时,会进行此调用。