在上一篇,我们得出了两个核心的学习思路:
-
根据问题去学习,并收集。
-
主动学习,并思考适用场景。
我们今天解决 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
更多内容
-
QFramework 地址: https://github.com/liangxiegame/QFramework
-
QQ 交流群: 623597263
-
Unity 进阶小班 :
-
主要训练内容:
-
框架搭建训练(第一年)
-
跟着案例学 Shader(第一年)
-
副业的孵化(第二年、第三年)
-
权益、授课形式等具体详情请查看 《小班产品手册》 :https://liangxiegame.com/master/intro
-
关注公众号:liangxiegame 获取第一时间更新通知及更多的免费内容。
2756

被折叠的 条评论
为什么被折叠?



