美文网首页Unity游戏框架搭建
Unity 游戏框架搭建 2019 (三十) MenuItem

Unity 游戏框架搭建 2019 (三十) MenuItem

作者: 凉鞋的笔记 | 来源:发表于2020-04-16 21:54 被阅读0次

在上一篇,我们得出了两个核心的学习思路:

  1. 根据问题去学习,并收集。
  2. 主动学习,并思考适用场景。

我们今天解决 MenuItem 显示顺序问题。

目前 MenuItem 显示如图所示:


我们来看下 MenuItem 这个属性构造的定义。



第二个参数是,是否是验证方法,目前不用理解,官网上默认是 false。
第三个参数,意思是优先级,表示 MenuItem 所在的显示顺序,数值越大越在底部。

我们先给第七个示例试一下。将代码改成如下:

using System.IO;

#if UNITY_EDITOR
using UnityEditor;
#endif

using UnityEngine;

namespace QFramework
{
    public class CustomShortCut : MonoBehaviour
    {
#if UNITY_EDITOR
        [MenuItem("QFramework/7.自定义快捷键 %e",false,-10)]
        private static void MenuClicked()
        {
            var generatePackageName = Exporter.GenerateUnityPackageName();
            
            EditorUtil.ExportPackage("Assets/QFramework",generatePackageName + ".unitypackage");
            
            EditorUtil.OpenInFolder(Path.Combine(Application.dataPath, "../"));
        }
#endif
    }
}

编译后观察菜单栏,结果如下图所示:



在最上方显示了。顺便我们把第七个示例的文件名和菜单名都改一下,都从 7.XXX 改成 1.XXX。

文件名如下:


菜单名代码如下:

using System.IO;

#if UNITY_EDITOR
using UnityEditor;
#endif

using UnityEngine;

namespace QFramework
{
    public class CustomShortCut : MonoBehaviour
    {
#if UNITY_EDITOR
        [MenuItem("QFramework/1.自定义快捷键 %e",false,-10)]
        private static void MenuClicked()
        {
            var generatePackageName = Exporter.GenerateUnityPackageName();
            
            EditorUtil.ExportPackage("Assets/QFramework",generatePackageName + ".unitypackage");
            
            EditorUtil.OpenInFolder(Path.Combine(Application.dataPath, "../"));
        }
#endif
    }
}

编译通过后菜单如下图所示:


其实菜单中的名字,还是不是合理,虽然这个示例我们是为了学习自定义快捷写下的,但是如果时间长了,我们看到上图的菜单栏还会懵一下。其实它的名字,应该叫做导出 UnityPackage。

我们就把菜单和目录名都改成这个 1. 导出 UnityPackage。具体怎么改大家应该知道了吧?

改完后的菜单如下:



目录如下:


今天的内容就这些,我们搞定了调整菜单栏顺序的关键问题。

转载请注明地址:凉鞋的笔记:liangxiegame.com

更多内容

相关文章

网友评论

    本文标题:Unity 游戏框架搭建 2019 (三十) MenuItem

    本文链接:https://www.haomeiwen.com/subject/egmvmhtx.html