在上一篇中,我们通过自动生成文件名来简化了我们的导出步骤。但是这样还不够。因为从笔者的角度来看,其实还有很大的优化空间。
不过,我们不要心急,罗马不是一天建成的,但是可以通过一步一步迭代完成的。
那么今天我们就在此基础上再试着前进一小步。
第二个示例我们要做什么呢?
我们来分析一下我们每次导出时候的操作步骤:
点击菜单栏 QFramework/1.生成 unitypackage 名字。
复制控制台中的名字。
右击 QFramework 文件夹,然后选择 ExportPackage。
之后确保取消选择 Include Dependency。
粘贴名字,然后导出到指定目录下。
总共五个步骤。
现在提出一个问题,第一步和第二步可不可以合并为一个步骤?如果合并成功。那么第一步则应该描述为“点击菜单栏 QFramework/1.生成 unitypackage 名字并复制”。
这样问题的关键点就出来了。
关键点
“点击菜单栏 QFramework/1.生成 unitypackage 名字并复制”,本质上就是把字符串复制到剪切板。
有了这个关键点,我们就可以在搜索引擎进行搜索了(这里推荐用谷歌,不能翻墙的同学建议用 bing.com)。
将“Unity、编辑器、UnityEditor、拷贝、复制”等关键字进行组合搜索了很久,几分钟后终于找到一点线索。
找到了这个 API
GUIUtility.systemCopyBuffer = "要复制的关键字";
这个 API 就是关键所在。
马上写个脚本测试一下。代码如下:
using UnityEditor;
#endif
using UnityEngine;
namespace QFramework
{
public static class CopyText2Clipboard
{
#if UNITY_EDITOR
[MenuItem("QFramework/2.复制文本到剪切板")]
#endif
private static void CopyText()
{
GUIUtility.systemCopyBuffer = "要复制的关键字";
}
}
}
代码非常简单。
测试步骤
- 把脚本文件放到我们的 QFramework/2.复制文本到剪切板/ 目录下。
- 然后点击菜单栏 QFramework/2.复制文本到剪切板。
- 试着在任意可输入的地方进行粘贴(ctrl+v),就可以看到结果了。
结果如下:
小结
虽然没有完成合并之后的功能,但是我们解决最关键的问题。对于笔者来说,今天示例中的 API 之前也从没有接触过。笔者也学习到了。
转载请注明地址:liangxiegame.com
网友评论