Menuitem属性有以下几个功能:
1、在菜单栏中添加菜单
2、在Inspector中添加菜单
3、控制菜单是否可用
4、绑定菜单快捷键
如图:①为菜单栏 ②为insprector中
1、实现菜单栏添加
[MenuItem("test/item1")]
public static void haha()
{
Debug.Log("this is a test");
}
上面的代码写入脚本,待脚本编译完成后,在菜单栏就会多一个test菜单,test下有一个item1子菜单。当点击此菜单时,会调用haha函数。
注意:若要使用Menuitem要添加
using UnityEditor;
[MenuItem("test/item1 %g")]
public static void haha()
{
Debug.Log("this is a test");
}
很简单,只需要在后边添加%+key。
(win : Ctrl+key, Mac :Cmd + key)
3、控制菜单是否可用
[MenuItem("test/item1 %g", true)]
public static bool testt()
{
return Selection.activeTransform != null;
}
MenuItem的第二个参数设置成true,就可以控制菜单是否可用了。
若testt函数返回true,则item1菜单可用。否则不可用(为灰色)。
上面的代码意思是:当选中某个gameObject时,菜单可用。若没选中gameobject,则菜单不可用。
4、在Inspector中添加菜单
[MenuItem("CONTEXT/Transform/wmtest %g")]
public static void testttt()
{
}
字符串第一个区段是CINTEXT,第二个区段是组件名,第三个区段是菜单名。
与菜单栏一样,这里也可以添加快捷键和控制是否可用。