首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >一、编辑器开发之MenuItem

一、编辑器开发之MenuItem

作者头像
CoderZ
发布2022-08-29 15:34:26
发布2022-08-29 15:34:26
5620
举报

MenuItem自定义菜单栏属性,允许我们创建自己的编辑器菜单。

代码语言:javascript
复制
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);

代码语言:javascript
复制
    [MenuItem("SK.Editor/Function1")]
    static void Function1()
    {
        Debug.Log("Function1 Invoke.");
    }

点击该菜单项后,控制台会输出字符串"Function Invoke."

2. public MenuItem (string ItemName, bool isValidateFunction);

当参数isValidateFunction为true时表明这是一个验证函数,当返回值为true时,该菜单项才可以进行选择,否则不可选择。

代码语言:javascript
复制
    [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);

代码语言:javascript
复制
    [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

Key

%

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,即可调用该菜单项:

代码语言:javascript
复制
    [MenuItem("SK.Editor/Function #E")]
    static void Function()
    {
        Debug.Log("Function1 Invoke.");
    }

除上述表格内容外,还可以使用下划线_加字母声明快捷键,例如_E表示使用单一的字母E调用菜单项。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 当代野生程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档