【编辑器扩展】添加菜单到菜单栏

添加菜单到菜单栏有两种方式都是使用Menuitem标签

Menultem(string itemName)
Menultem(string itemName,bool isValidateFunction,int Priority)

iteamName传的是这个菜单的名字,或者路径,可以用“/”来做层级区分比如:

Menultem(“MyMenultem/Menult1/Create”)
static void CreatFunction(){}

在这里插入图片描述
bool isValidateFunction 参数是用来标记当前菜单是否可用的参数,当这个参数为True的时候 方法返回值也必须是 bool 类型,如果返回值为True 当前菜单可用,如果为false 菜单会变灰

[MenuItem("MyMenultem/Menult1/Create2",false)]
    static void Creat2Function(){}

我们先看一下为false的时候当前是可选中的:
在这里插入图片描述
然后我们把这个参数变为True,在下方重新写一个方法加上标签,只有当我们选中一个Transform的时候才会可以点击,不然就会灰色显示:

[MenuItem("MyMenultem/Menult1/Create2",true)]
    static void Creat3Function()
{
return Selection.activeTransform != null;
}

当我们没有选中一个Transform时候:
在这里插入图片描述
当我们选中一Transform的时候:
在这里插入图片描述
int priority 是一个整数,用来标识菜单的顺序的,用来给菜单项排序

我们在上面的两个菜单中加入这个参数测试下:

[MenuItem("MyMenultem/Menult1/Create",false,1)]
[MenuItem("MyMenultem/Menult1/Create2", false,0)]

我们就会发现,Createa2 到了第一个上面
在这里插入图片描述

快捷键:

我们在看Unity自带的菜单中有一些快捷键,我们现在自定义一下快捷键的功能:

我们给上面Create 菜单中加一个Ctrl+T的快捷键:
[MenuItem(“MyMenultem/Menult1/Create %T”,false,1)]
看一下:
在这里插入图片描述
快捷键:

  • %(Ctrl) #(shift) &(Alt)
  • LEFT RIGHT UP DOWN
  • F1 F2 F3 … F12
  • HOME, END, PGUP, PGDN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值