Unity 游戏框架搭建 2019 (三十、三十一) MenuItem 显示顺序问题 & 类的提取 (2)

代码中,菜单从二级变成,一级了,并且了添加了顺序,是第二个顺序。
等代码编译后,菜单展示如下所示:

006tNc79gy1fzfrb3zwg9j30ae06gdi2.jpg


顺序是正确的。但是第一个示例和第二个示例之间有一个分割线。为什么会有这个分割线呢?

有可能是因为 第一个示例,设置的顺序是 -10,而第二个示例设置的顺序是 2,中间相差太多了。
那么我们把第一个示例的顺序改成 1 试试。改动后的代码就不展示了。
改动之后,菜单如下图所示:

006tNc79gy1fzfrb6sdi1j30a3066wgo.jpg


横线消失了,不过这个分割线算是意外的收获,我们可以好好利用它,比如用它来好好划分我们的菜单结构,题外话就先不说了。我们接着往下整理。

第二个示例的菜单整理好了,文件夹要怎么整理?现在这个示例的 MenuItem 方法在第八个示例中的 PreviousFuntions 里,而 示例的核心 API: CommonUtil.CopyText 也在第八个示例的文件里。

其实很简单,把这两部分提取出来就好了,将 MenuItem 示例方法写到 CommonUtil.CopyText 方法实现位置的上方。然后把 CommonUtil 这个类,单独从 PreviousFuctions.cs 这个文件中提取出来,放到第二个示例中。

代码如下:
CommonUtil.cs

using UnityEngine; namespace QFramework { public class CommonUtil { #if UNITY_EDITOR [UnityEditor.MenuItem("QFramework/2.复制文本到剪切板", false, 2)] #endif private static void MenuClicked2() { CopyText("要复制的关键字"); } public static void CopyText(string text) { GUIUtility.systemCopyBuffer = text; } } }

代码所在文件目录如下图:

006tNc79gy1fzfrbb1jbzj30y2094q4e.jpg


那么第二个示例就算整理完成了。

单独把 CommonUtil 放在一个文件夹里的原因是与”方法所在类名”这个问题是一样的。都是方法所在的类不合理,所以会导致方法所在的类名比较奇怪。同理,类所在的文件夹不合理,所以导致菜单也不合理。因为我们的菜单的名字,和文件目录的名字是一一对应的。

虽然没有在文章中强调这一点,但是,笔者呢始终贯彻这个这个规则。

今天的内容就到这里,下一篇再见,拜拜~

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

更多内容

QFramework 地址:https://github.com/liangxiegame/QFramework

QQ 交流群:623597263

Unity 进阶小班

主要训练内容:

框架搭建训练(第一年)

跟着案例学 Shader(第一年)

副业的孵化(第二年、第三年)

权益、授课形式等具体详情请查看《小班产品手册》:https://liangxiegame.com/master/intro

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpdwzj.html