Unity编辑器拓展(一)-MenuItem的使用

一、参数介绍

MenuItem是一个特性,修饰静态方法,可以在Unity顶部菜单出现相应的按钮。

MenuItem有三个参数,分别如下: 
	1:路径: string 类型。用 ‘/’ 来分割路径
	2:是否是验证函数:bool 类型,默认为false
	3:函数优先级:影响在面板上的出现顺序,默认为1000

举例

        [MenuItem("Learn/Log1",false,1000)]
        public static void Log1()
        {
   
            Debug.Log("1");
        }

效果如下
在这里插入图片描述

二、验证函数

MenuItem的第2个参数是一个bool值,用于验证这个函数是否启用。究竟怎么使用呢,看下面的例子就明白了。

       [MenuItem("Learn/Log2",false,1001)]
        public static void Log2()
        {
   
            Debug.Log("2");
        }
        
        
        [MenuItem("Learn/Log2",true,1001)]
        public static bool ValidateLog2()
        {
   
            return Selection.activeTransform != null;
        }

解释:这里第2个方法是对第1个方法的验证, 如果有选中一个transform,那么返回true;否则返回false。它的返回值,决定了跟它同路径的第一个方法是否可点击。

如图:
什么都不选中(注意看右侧的Hierarchy面板),不可点击
在这里插入图片描述
有选中一个物体,可以点击
在这里插入图片描述
注意:一个方法和它的验证方法的第一个参数,也就是路径,必须是一样的,这样两个方法才会关联起来。并且验证方法的第2个参数填true,返回值为bool类型。

三、优先级

第3个参数:优先级,主要影响菜单出现的先后顺序,不填默认是1000. 值越小,出现在越上层的位置。

        [MenuItem("Learn/Log",false)]
        public static void Log()
        {
   
            
        }
        
        [MenuItem("Learn/Log1",false,999)]
        public 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值