菜单MenuItem(string path,bool isActive,int 分隔符号和排序) 三个参数path代表路径 isActive代表这个菜单是否可用,需要配合使用,下面说明 |
|
|
|
using UnityEditor;
using UnityEngine;
public class FirstMenu
{
[MenuItem("Tool/FirstMenu")]
static void DoSomething()
{
Debug.Log("DoSomething");
}
}
自定义菜单支持如下几种快捷键:
% - CTRL on Windows / CMD on OSX
‘# - Shift’
& -Alt
LEFT/RIGHT/UP/DOWN - Arrow keys
F1 … F2 - F keys
HOME,END,PGUP,PGDN
字母键 - _ + 字母(如:_g代表按键)
还可以几种合并
例如: [MenuItem("Tool/FirstMenu %t")] %t 代表 Ctrl+T
[MenuItem("Tools/Item2 _g")]代表G
[MenuItem("Tools/Item %g")]代表CTRL-G
[MenuItem("Tools/New Option %#a"]代表CTRL-SHIFT-A
等等......
using UnityEditor;
using UnityEngine;
public class FirstMenu
{
[MenuItem("Tool/FirstMenu")]
static void DoSomething()
{
Debug.Log("DoSomething");
}
//=====================================================
/// <summary>
/// 下面两个函数共同组成了,这个菜单是否可用,当SecondMenu2()返回值为true时候,菜单可用
/// 否则菜单不可用( [MenuItem("Tool/SecondMenu", false)])标签是一样的
/// </summary>
[MenuItem("Tool/SecondMenu", false)]
static void SecondMenu1()
{
Debug.Log("SecondMenu1");
}
[MenuItem("Tool/SecondMenu", true)]
static bool SecondMenu2()
{
return Selection.activeGameObject != null;//选中物体的时候返回true
// return false;
}
}