GameFramework找不到流程的问题
前提
每隔一段时间,阿茶都会使用GameFramework和相关衍生框架去创建一个空白项目,每一次都会跟着教程一点点的添加,但是每次都会遇到Procedure设置的时候在Inspector窗口中无法找到流程的问题,网络上几乎找不到一个合理的解决方式,每次都需要在这个问题上浪费掉很多很多时间。
一次两次还好,时间长了真的会很让人烦躁的啊!
今天阿茶又遇到了这个问题,所以这次决定记录一下。
猜测
通过阅读如下源码,发现框架去获取流程是通过反射的方式获取的。同时官方文档也证明了这一点。
1 | // Assets\GameFramework\Scripts\Editor\Inspector\ProcedureComponentInspector.cs: 116 |
因此,找不到流程的大概原因就是,脚本所在的程序集(Assembly)
无法获取我所创建的Produce文件所在的程序集。
解决方式就是让GameFramework所在的程序集UnityGameFramework.Editor
获取到流程所在的程序集GameMain
。
方法
通过添加程序集的引用(失败)
因为在GameMain中的脚本需要访问GameFramework中的方法,因此在程序集GameMain
的引用配置中已经添加了GameFramework所在的程序集UnityGameFramework.Editor
。
根据经验猜测,如果此时在程序集UnityGameFramework.Editor
的引用配置中添加程序集GameMain
,此时会因为循环引用而报错。
经过实践证明也是如此。
其他方式(成功)
经过不懈的努力(查找资料,并且注意比对上一个项目中的文件和空项目文件),阿茶终于解决了这个问题!
在文件\Assets\GameFramework\Scripts\Editor\Misc\Type.cs
中,添加了下面的修改。
1 | // ...... |
按照这样的方式修改代码后,回到Unity,GameFramework终于成功加载了我的所有流程内容。
参考
公司之前的项目
在服务器中住着的AKI娘会检测您的输入内容哦, 如果被判断为垃圾内容是看不到的呢!当然抹茶也会定期检查AKI娘的所作所为的!