GameFramework框架学习流程

这篇博客主要解析EventSystem源码,通过调试先实际查看这个类干了什么,然后再来分析其作用。

ET框架中的DLL程序集合类型

通过上面这张图我们不难看出,ET框架中的DLL程序集合总共被分为三种类型:Model | Hotfix | Editor。当你打开ET项目时,解决方案目录也是分为这几个模块(第三方库除外),如下图。

ET源码的解决方案目录

下面截图中展示的是EventSystem的Add()方法,由项目入口的Init()方法所调用。

1
Game.EventSystem.Add(DLLType.Model, typeof(Init).Assembly);

在这个Add方法中,大概的内容是遍历Model.DLL这个程序集中的所有类,然后从中筛选出以BaseAttribute为基类的类引用,并将其加入到types字典中。其中需要注意的是GetCustomAttributes(Type, Boolean)方法,详见说明

EventSystem的Add()方法