前言
在使用Editor类型的时候,我们需要显示一个入口函数,一般来说,我们都是用MenuItem这个类来构造一个入口函数。
知识点
-
itemName(string)
这是用来显示我们在编辑器上所看到的item的名字,也可以认为是一个路径,用“/”来划分路径。
当路径为Gameobject中的相应位置时候,还可以在Hierarchy中右键点出。
当路径为“CONTEXT”后接组件名字的时候,是可以在组件的右键列表中添加按钮。
-
validate(bool)
这个是用来控制emunitem的可点击事件。一般来说我们都是不需要检测是够需要点击。但是有的时候当我们需要对一个object做判断,来规避一些错误。当这个object不是我们所需要的是object的时候,我们可以通过返回一个false来控制item的点击。示例代码:
[MenuItem("GameObject/item",true,10)]
static bool item(Menucommand menuCommand){
if(menuCommand.context != null){
return true;
}else{
return false;
}
}
[MenuItem("GameObject/item",false,10)]
static void item1(Menucommand menuCommand){
Debug.Log(menuCommand.ToString());
}
如上所示,需要itemname为一致,配套使用,返回值为false的时候,item会灰掉不能点击。点击所走的方法为validate为false的。
-
priority(int)
当两个itemname的priority的值大于10的时候,将创建分割线。数值越大,越靠近列表的最下。相同itemname的调用的是priority最大的。