Unity Inspector 面板的某些特性

特性

  特性:就是一种声明性的标签,例如 类、结构体、枚举、字段(变量)等

  可以大致的分为以下三个方面:

一、修饰字段

  [Header(" ")]:面板标题 UnityInspactor 面板上显示一个标题

  

  [Tooltip(" ")]:悬停的注释 当鼠标悬停在 Inspector 面板上的该变量上时,显示有一个 Tip 提示,提示的内容就是参数

  

  [Space( )]:上下字段的空行 仅能修饰字段,使该字段与上一个字段间出现间隔

  

  [Range( , )]:显示滑条范围 修饰 float 类型和 int 类型,使其在 Inspector 面板上显示成一个滑动条,参数是最小值和最大值

  

  [Multiline( )]:显示文本 仅能修饰字符串,使其显示多行,默认不写参数的话显示 3

  

  [TextArea( )]:显示文本 显示一个带有滚动区域的文本框,默认显示 3 行,超过 3 行显示滚动条 

  例如:[ TextArea(2,3) ] 最少显示 2 行,最多显示 3 行,超过 3 行显示滚动条

  

  [HideInInspector]:隐藏 public 字段 仅仅是在 Inspector 面板上隐藏了,该变量还是可序列化的

  

  [SerializeField]:转成可序列化 修饰变量,使得其可转变成可序列化对象, 私有的变量一般都是不可序列化的

  

  [System.NonSerialized]:转成不可序列化 修饰字段,使其变成不可序列化对象,它是属于 System 命名空间下的

  

  [ContextMenuItem("Button","Text")]:使其鼠标右键在 Inspector 面板上点击该变量时,出现一个按钮

    第一个参数表示按钮的名字,第二个参数表示要执行的方法,保证要有该方法且需要成员方法

   

二、修饰方法

  [ContextMenu(" ")]:修饰成员方法,使其在该脚本右上方的齿轮里出现一个以参数为名的选项 点击该选项,执行这个特性的修饰方法

  

  [MenuItem(" ")]:修饰静态方法,使其在菜单栏多出一个选项,参数是一个层级结构,至少两层(需要引入 “UnityEditor” 命名空间)

  例如:[MenuItem("MyTools/MenuItemTest")] 将在菜单栏 MyTools 下出现 MenuItemTest 方法选项

   

  UnityEditor:命名空间

三、修饰类

  [System.Serializable]:修饰类或结构体,使该对象变为可序列化的 

    该类下的可序列化字段在 Inspector 面板上显示

  [AddComponentMenu(“ ”, )]:在 AddComponent 按钮下加一个菜单选项 

    第一个参数是支持层级结构的, 第二参数代表第一个选项参数的顺序

  [RequireComponent(typeof(BoxColider))]:该特性的意思是,修饰的类依赖于参数里的类

    当修饰的类挂到物体上时,会检查该物体上是否有依赖的组件,如果有,就不会重复的添加,如果没有依赖的组件,会默认添加依赖的组件

  [ExecuteInEditMode]:修饰的类在编辑模式下执行,Awake()Start()Update() 方法都会执行

    (与运行模式不同, 该特性修饰的类,是指在场景中的某个物体发生改变时执行)

 

***| 以上内容仅为学习参考、学习笔记使用 |***

posted @ 2020-06-09 11:08  Mr.Cat~  阅读(2453)  评论(0编辑  收藏  举报