UnityEditor——GUI(1)MenuItem(菜单)

菜单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;
    }
}

猜你喜欢

转载自blog.csdn.net/yang854426171/article/details/89221502
今日推荐