一、Unity编辑器开发之MenuItem
MenuItem自定义菜单栏属性,允许我们创建自己的编辑器菜单。
-
public MenuItem (string itemName);
-
public MenuItem (string itemName, bool isValidateFunction);
-
public MenuItem (string itemName, bool isValidateFunction, int priority);
param1: itemName 表示菜单项的路径。
param2: isValidateFunction 默认为false,为 true时表明这是一个验证函数,它将在调用具有相同的itemName的菜单函数之前被调用。
param3: priortiy 表示菜单项的显示顺序,默认为1000,数值越小的越靠上显示,若相邻菜单间差距大于11则会被分割线进行分割。
具体如下所示:
1. public MenuItem (string itemName);
-
[MenuItem("SK.Editor/Function1")]
-
static void Function1()
-
{
-
Debug.Log("Function1 Invoke.");
-
}
点击该菜单项后,控制台会输出字符串"Function Invoke."
2. public MenuItem (string ItemName, bool isValidateFunction);
当参数isValidateFunction为true时表明这是一个验证函数,当返回值为true时,该菜单项才可以进行选择,否则不可选择。
-
[MenuItem("SK.Editor/Function1", false)]
-
static void Function1()
-
{
-
Debug.Log("Function1 Invoke.");
-
}
-
[MenuItem("SK.Editor/Function1", true)]
-
static bool Function1Validate()
-
{
-
return false;
-
}
3.public MenuItem (string ItemName, bool isValidateFunction, int priority);
-
[MenuItem("SK.Editor/Function1", false, 20)]
-
static void Function1() {}
-
[MenuItem("SK.Editor/Function2", false, 10)]
-
static void Function2() {}
-
[MenuItem("SK.Editor/Function3", false, 31)]
-
static void Function3() {}
为菜单项添加快捷键:
String | Keys |
% | Ctrl on Windows / Command On OSX |
# | Shift |
& | Alt |
LEFT/RIGHT/UP/DOWN | Arrow keys |
F1...F2 | F Keys |
HOME,END,PGUP,PGDN | Home,End,Page Up,Page Down |
如下例,表示使用快捷键Shift+E,即可调用该菜单项:
-
[MenuItem("SK.Editor/Function #E")]
-
static void Function()
-
{
-
Debug.Log("Function1 Invoke.");
-
}
除上述表格内容外,还可以使用下划线_加字母声明快捷键,例如_E表示使用单一的字母E调用菜单项。
文章来源: coderz.blog.csdn.net,作者:CoderZ1010,版权归原作者所有,如需转载,请联系作者。
原文链接:coderz.blog.csdn.net/article/details/114091905
- 点赞
- 收藏
- 关注作者
评论(0)