[SerializeField]
在Inspector版面中显示非public
属性,并且序列化;若写在public
前面,等于没写,例子:
[NonSerializeField]
在Inspector面板中隐藏public属性,并且序列化;如果写在非public属性前面等于没写。
[HideInInspector]
在Inspector面板中隐藏public属性,与上面相比,只是隐藏,没有序列不序列化的功能
[AddComponentMenu("XXX/XX/XXX")]
让Component菜单下出现你自定义的类,位置是”XXX/XX/XXX”,
[ExecuteInEditMode]
在编辑界面让你的功能(类)起作用,就是你不用点开始,就可让你功能起作用,打个比方,NGUI里面的滑动条
[RequireComponent(typeof(ClassName))]
就是在你把被这句话标记的类拖到(或者AddComponent)GameObject上时,自动再给你加上”ClassName”这个类
[ContextMenu("XXX")]
在Inspector面板中,右击包含这条标记的类,在菜单中会出现名为”XXX”的选项,点击选项,会执行被标记的功能(PS:此乃标记功能,非标记类)
[MenuItem("XXX/XXX")]
在菜单栏中出现选项栏,点一下,执行对应功能,注意:对应的功能也必须是static,同时,使用的时候需要加上using UnityEditor,这个类也要找个Editor文件夹放(一般放”Assets\Editor”)
控制菜单的优先顺序
优先级是被赋值到菜单项的一个数字(传递给MenuItem的第三个参数),它控制了菜单的显示顺序。
菜单项也能够自动分组,每五十个一个组