在前两篇,我们把所有的示例重头到尾整理了一遍。
当前的状态如下:
-
要做的事情:
-
(完成) 备份:导出文件,并取一个合理的名字。
-
遗留问题:
-
(完成) 第八个示例与之前的示例代码重复,功能重复。
-
(完成) 方法所在类的命名有问题。
-
菜单栏显示顺序问题。
-
弃用的代码警告
-
约定和规则:
-
每个示例在 QFramework 目录下创建一个文件夹,文件夹的格式是: 数字.示例的功能
-
每个示例写一个脚本,脚本中包含可复用的静态方法和 MenuItem 方法。
-
每写一个示例进行一次导出,导出的文件名后边加上日期和时间,这个功能已经在导出功能里内置了。
-
每次有 API 变更的时候做一次备份,备份的名字采用 QFramework_vX.Y.Z 格式。
-
每次进行整理的时候要确保是在功能有效的情况下进行删除和变更。
-
示例分类:
-
知识学习&收集
-
API 收集
-
C# 语法实践
-
库本身的功能
-
规则实现
-
使用流程提供及优化
-
效率提升(编码体验、逻辑复用)
-
项目实用工具收集
我们看下以上遗留问题里,示例重复这个做完了,还差一个菜单栏显示顺序问题,还有一个弃用的代码的警告。
两个看起来,弃用代码的警告马上就有思路了,就只要保证功能正确的情况下重写代码就好了。
我们看下编辑器的弃用代码警告: 目前有 5 个警告,主要集中在示例 7 和把中。我们一项一项解决。
先看示例七的代码:
using
System
.
IO
;
#
if
UNITY_EDITOR
using
UnityEditor
;
#
endif
using
UnityEngine
;
namespace
QFramework
{
public
class
CustomShortCut
:
MonoBehaviour
{
#
if
UNITY_EDITOR
[
MenuItem
(
"QFramework/7.自定义快捷键 %e"
)
]
private
static
void
MenuClicked
(
)
{
var
generatePackageName
=
PreviousFunctions
.
GenerateUnityPackageName
(
)
;
PreviousFunctions
.
ExportPackage
(
"Assets/QFramework"
,
generatePackageName
+
".unitypackage"
)
;
PreviousFunctions
.
OpenInFolder
(
Path
.
Combine
(
Application
.
dataPath
,
"../"
)
)
;
}
#
endif
}
}
很容易改。改完之后的代码如下:
using
System
.
IO
;
#
if
UNITY_EDITOR
using
UnityEditor
;
#
endif
using
UnityEngine
;
namespace
QFramework
{
public
class
CustomShortCut
:
MonoBehaviour
{
#
if
UNITY_EDITOR
[
MenuItem
(
"QFramework/7.自定义快捷键 %e"
)
]
private
static
void
MenuClicked
(
)
{
var
generatePackageName
=
Exporter
.
GenerateUnityPackageName
(
)
;
EditorUtil
.
ExportPackage
(
"Assets/QFramework"
,
generatePackageName
+
".unitypackage"
)
;
EditorUtil
.
OpenInFolder
(
Path
.
Combine
(
Application
.
dataPath
,
"../"
)
)
;
}
#
endif
}
}
之后编译后的结果如下所示: 还剩两个,我们看下第 8 个示例的代码。
..
.
public
class
PreviousFunctions
{
..
.
[
MenuItem
(
"QFramework/8.总结之前的方法/3.生成文件名到剪切板"
)
]
private
static
void
MenuClicked3
(
)
{
CommonUtil
.
CopyText
(
GenerateUnityPackageName
(
)
)
;
}
[
MenuItem
(
"QFramework/8.总结之前的方法/4.导出 UnityPackage"
)
]
private
static
void
MenuClicked4
(
)
{
EditorUtil
.
ExportPackage
(
"Assets/QFramework"
,
GenerateUnityPackageName
(
)
+
".unitypackage"
)
;
}
..
.
}
..
.
主要问题在 GenerateUnityPackageName,这个在整理第个示例的时候忘记了,改成如下代码就好了。
..
.
public
class
PreviousFunctions
{
..
.
[
MenuItem
(
"QFramework/8.总结之前的方法/3.生成文件名到剪切板"
)
]
private
static
void
MenuClicked3
(
)
{
CommonUtil
.
CopyText
(
Exporter
.
GenerateUnityPackageName
(
)
)
;
}
[
MenuItem
(
"QFramework/8.总结之前的方法/4.导出 UnityPackage"
)
]
private
static
void
MenuClicked4
(
)
{
EditorUtil
.
ExportPackage
(
"Assets/QFramework"
,
Exporter
.
GenerateUnityPackageName
(
)
+
".unitypackage"
)
;
}
..
.
}
..
.
这样编译警告就没有了。
警告的问题全部解决了,弃用的方法就全部可以删掉了,因为弃用的方法,只要被调用了才会报警告,但是在删除弃用方法的时候要小心一点,因为弃用的方法有可能是在某个宏里边调用的,这时候最好用一下 IDE 的全局搜索字符串,一般 IDE 都会有,怎么用,自己用搜索引擎查一下就行了。
今天的内容就这些,拜拜~。
转载请注明地址:凉鞋的笔记:
liangxiegame.com
更多内容
-
QFramework 地址: https://github.com/liangxiegame/QFramework
-
QQ 交流群: 623597263
-
Unity 进阶小班 :
-
主要训练内容:
-
框架搭建训练(第一年)
-
跟着案例学 Shader(第一年)
-
副业的孵化(第二年、第三年)
-
权益、授课形式等具体详情请查看 《小班产品手册》 :https://liangxiegame.com/master/intro
-
关注公众号:liangxiegame 获取第一时间更新通知及更多的免费内容。
3300

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



