GameFramework篇:使用源码替换GameFramework.dll

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_15020543/article/details/85057578

为了方便我们研究Demo和学习框架,我们要把GameFramework.dll替换成源码。在此之前,请确保GF和UGF皆为最新版本。

环境:

若当前使用的 Unity 2017.3(不含)以前的版本

将 Game Framework 源码目录拷贝至 Plugins 目录(若不存在 Plugins 目录,请自行创建)中即可。

1.打开项目的UnityGameFramework文件夹,打开Libraries,把GameFramework相关资源全部删除

2.回到Unity中,将GameFramework源码拖入Assets文件夹下

3.等Unity刷新好,我们就可以惊喜的发现,有满屏的报错

扫描二维码关注公众号,回复: 4595650 查看本文章

我们发现大都是引用缺失的问题

我们打开Libraries下面的link.xml文件,发现有这样一句话

和我们没关系,所以不用管

我们再看报错

发现绝大多数报错原因都是找不到GF而造成的

顺着报错路径,我们发现了这个

这个是unity2017.3的新特性:程序集定义文件,参考:https://blog.csdn.net/zhenghongzhi6/article/details/78874580

于是我们知道了,要让UGF模块拿到GF需要这个文件

所以我们在GF里创建

在UGF的Runtime程序及定义文件添加GF引用,Apply一下

等Unity编译完成,我们发现报错已经大大减少

我们继续解决问题,发现有Editor模块缺少GF引用

于是给UGF的Editor程序集定义文件添加GF引用,Apply

OK,此时Console窗口什么都没有了,可以运行游戏了。

我们发现Debug窗口有很多很多输出,这是由于编辑器模式下是宏编译状态,所以GF源码里面的Debug全部会输出,如果不想看到这么多Debug,就顺着源码把Debug给注释掉。

接下来我们就可以体验追踪源码的乐趣了

比如

找到

追踪ShowEntity

一路追踪到这里,此时,如果使用的是程序集,即dll的话,追踪到此为止,由于我们使用的是源码,所以可以进一步查看

顺着IEntityManager接口,查找引用,找到EntityManager,找到里面的ShowEntity,箭头所指即为原始实现方式

至此,ShowEntity函数追踪完毕,大家可以以此为参考,学习GF这个强大的框架

猜你喜欢

转载自blog.csdn.net/qq_15020543/article/details/85057578