GameFramework01_初步解析
前言
GameFramework是一个基于Unity引擎的开源免费框架,封装了游戏开发中常用的模块,制定了一系列的游戏业务的代码规范,适合中大型的游戏开发。在此之前,如果你想要独立的开发一个完整的项目不知从何入手,没有一个循序渐进且规范的开发流程,学习并使用GF将大大提高开发效率,提高我们的一个整体思维,对于新手,会有很多意向不到的收获。⇒ GF官方介绍
框架组成
- 框架由两个部分组成,
GameFramework
(GF)和Unity GameFramework
(UGF),在E大的Github主页中可以看到,有两个仓库,一个是GF一个是UGF,我们在导入Unity中并使用的是UGF,UGF是包含了GF,GF是框是框架源码的主要部分,完全不依赖于Unity,但是部分模块的实现需要依赖Unity,比如:AB包,Debugger等内容,这些需要依赖Unity来实现。- GF是一个VS工程(.sln),它建立在UGF上层,框架的主要源码就在这里
- UGF是一个Unity项目(.meta,.prefab),基于GF,我们导入进Unity的就是UGF,但是想要在Unity中查看框架的源码是看不到的,因为作者将GF编译为
.dll
,根据官网描述目的是为了防止开发者不小心修改导致出现错误,但为了学习和定制化开发,也是支持替换源码的,只需删除.dll
并替换引用即可,这里在后文中会提到。
- GF是一个VS工程(.sln),它建立在UGF上层,框架的主要源码就在这里
目录结构与源码替换
-
官网提供了
.unitypackage
的形式将框架直接导入进Unity项目中,⇒ 官网下载地址,包含两个文件夹,示例和框架主体。
-
导入后我们可以看到,在GameFramework的子目录Libraries文件夹又一个同名的
dll
形式的文件,点击将其Delete删除
-
我们将刚刚导入的GameFramework文件夹重命名为
UnityGameFramework
-
将Github中的GF部分下载到本地 ⇒ GF部分下载链接,将其拖入到Assets目录下,此时应拥有两个文件夹了,分别为
UGF
和GF
-
导入后的目录(为了清晰表述,我删除了示例和场景文件夹):
-
Uniy导入文件后会进行重新编译,由于我们刚才删除了dll缺失引用,暂时会出现大量的报错,先不必理会,替换源码也是要解决这一问题。我们在GameFramework文件夹下创建一个
asdf
文件Assembly Definition
,和文件夹同名,命名为GameFramework
-
将这个
asdf
命名为GF同名文件后,勾选Allow ‘unsafe’ Code
允许不安全代码选项,点击底部Apply重新编译。
-
将目录中的: UnityGameFramework/Scripts/Editor/UnityGameFramework.Editor 重新建立依赖关系,依赖的是我们刚刚创建的GameFramework.asdf,同时Apply
-
将目录中的:UnityGameFramework/Scripts/Runtime/UnityGameFramework.Runtime 也依赖GameFramework的asdf文件,此时再次编译,报错消失,完成替换。
初步上手
- 完成以上,源码版本的GF框架就应用在你的项目中了
- 在GF的官方教程前三章的教程中已经提供了如何入门的基本介绍,建议在学习之前之前先阅读完前三章的内容,然后再开始对后续框架各个模块的了解和学习 ⇒ 传送门
本章节到此结束 😋😋😋
下一章节内容 : GameEntry游戏入口