SimpleGameFramework搭建教程
自然妙有猫仙人
学习Unity3D中
展开
-
简易版GameFramework游戏框架搭建教程(一)前言
GameFramework(以下简称GF),是由Ellan开发的一款开源Unity游戏框架,以下是来自官网的简介:Game Framework 是一个基于 Unity 5.3+ 引擎的游戏框架,主要对游戏开发过程中常用模块进行了封装,很大程度地规范开发过程、加快开发速度并保证产品质量。在最新的 Game Framework 版本中,包含以下 17 个内置模块,后续还将开发更多的扩展模块供开发者使用...原创 2018-05-27 18:06:23 · 13311 阅读 · 3 评论 -
简易版GameFramework游戏框架搭建教程(三)Fsm
在前一篇文章中,我们已经将框架里几个基本的类编写完成,在本文中,将开始正式进行功能模块的开发我们第一个开发的模块将是Fsm模块,因为作为管理整个游戏运行时生命周期的Procedure模块,是基于Fsm的官网中关于Fsm的介绍首先新建一个Fsm文件夹,在其中再新建4个类文件Fsm是状态机类,IFsm是状态机的接口(可能会有人疑惑为什么还要再写一个接口?别急,这一点到后面就能明白了),FsmState...原创 2018-05-27 18:08:55 · 4157 阅读 · 3 评论 -
简易版GameFramework游戏框架搭建教程(二)Entry
我们从新建一个Unity项目开始,名字叫SimpleGameFramework(下文简称SGF)建立好框架与其脚本的目录然后就可以开始框架Entry部分的搭建了在GF的设计中,框架被分为了两部分,一部分独立Unity引擎,另一部分则依赖于Unity引擎:自然而然的,GF里Entry也被分为了两部分,既然我们要搭建的是简易版的GF,那么在设计上就不采用一部分与Unity分离的形式,而是全部依赖于Un...原创 2018-05-27 18:06:34 · 5447 阅读 · 4 评论 -
简易版GameFramework游戏框架搭建教程(四)Procedure
Fsm模块在上一篇文章中已经完成,我们便可以开始着手Procedure模块的开发了下面是官网对Procedure的介绍首先新建一个Procedure文件夹,在其中新建ProcedureBase类和ProcedureManager类ProcedureBase是流程基类,属于一种状态。ProcedureManager是流程管理器,负责管理所有流程。打开ProcedureBase,使其继承FsmStat...原创 2018-05-29 17:50:29 · 3212 阅读 · 3 评论 -
简易版GameFramework游戏框架搭建教程(五)DataNode
这次我们来编写一个比较简单的模块——DataNode(数据结点)下面是官网的介绍首先新建一个DataNode文件夹,在其中新建DataNode类与DataManager类DataNode是数据结点类,DataNodeManager是数据结点管理器,负责管理所有数据结点打开DataNode类,为其添加对应的字段与属性/// <summary>/// 数据结点/// </summ...原创 2018-05-29 21:51:13 · 2622 阅读 · 1 评论 -
简易版GameFramework游戏框架搭建教程(六)Event
事件广播机制可以说是在各种框架里比较常见的解耦机制了,GF自然也不例外,在本篇文章中我们便来编写Event模块下面是官网的介绍 在正式开始编写Event模块之前,我们需要完成一个前置的框架基础功能——ReferencePool(引用池),ReferencePool提供了一个IReference接口,只有实现了该接口的对象才会被纳入引用池管理当中,而在GF里,主要由Event模块的事...原创 2018-05-31 23:44:14 · 2364 阅读 · 0 评论 -
简易版GameFramework游戏框架搭建教程(七)ObjectPool
对象池是在游戏开发中,为了避免频繁的创建、销毁对象带来的内存消耗的常见优化技术下面是官网的介绍打开工程,建立ObjectPool文件夹,然后其中建立4个文件其中ObjectBase是池对象基类,所有需要被对象池管理的对象都需要继承该类(实际使用的对象被封装在这个类的派生类中,之所以这么封装是为了方便池对象生命周期的管理)。IObjectPool是对象池接口,ObjectPool是对象池类,使用链表...原创 2018-06-03 12:44:44 · 2709 阅读 · 0 评论 -
简易版GameFramework游戏框架搭建教程(八)Task
在框架中,Web请求,资源的下载或加载会以任务的形式进行处理,Task作为框架的基础功能,所负责管理的就是这三类任务打开工程,在Base文件夹下新建一个Task文件夹,并新建3个类文件其中ITask是任务接口,主要存储任务执行时所需的数据ITaskAgent是任务代理接口,负责对任务进行处理(实际的处理逻辑则通过调用具体模块的辅助器执行,这一点在后面编写需要使用任务功能的模块时会涉及到)TaskP...原创 2018-06-03 18:03:42 · 3029 阅读 · 13 评论