前言
在使用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最大的。