这是一个轻量级的Unity开发框架,包含了Entity,FSM,Graphics,Pool,Messenger,Procedure,Resource,Task,Terrain等模块,另外还提供了一系列开发工具,本篇是对XFramework的一个整体介绍,后续会按照模块逐一添加文档

XFramework –xdedzl

我是薛定谔的蟑螂

1. 启动流程

在场景新建一个空物体命名为GameManager,将Game脚本附加到物体上。新建一个类MyFirstProcedure继承ProcedureBase,Game脚本的属性面板可以选择游戏开始时第一个进入的流程。

2. 模块说明

Entity:实体的管理,提供了实体的加载,回收以及不同实体之间父子关系的处理。(参考了一些GameFramework的设计思路)

FSM:状态机,内置提供了鼠标状态机。

Graphics:图形管理,方便的使用Unity底层绘图API在相机上绘制图形,并提供了一系列构造Mesh的工具方法。

Messenger:全局消息处理。

Observer:观察者模式实现的事件处理机制。

Pool:基础对象池,实体的对象池的管理集成到了Entity中。

Procedure:流程,实际上是一个贯穿整个游戏过程的状态机。(参考了一些GameFramework的设计思路)

Resource:资源管理机制,统一使用Game.ResourceModule.Load(“Assets/Path/xxx.png”)的方式加载,开发过程中使用AssetDataBase,输出版本后使用assetbundle。提供了ab包编辑器。

Task:任务处理。

Terrain:运行时Terrain编辑。

UI:基于UGUI的UI管理模块,GUCompotent是对UI组件的扩展并提供了一种UI组件的查找方式以替代transform.Find,在开发过程中修改了UI面板的层级之后无需更改代码。

2. 工具类说明

Collections:有向图和无向图

file parse:csv文件读写

Math:曲线拟合,二三维点线面关系,向量转换等。

Serialize:使用unsafe关键字的序列化方式,速度很快

Singleton:这理把单例归为工具类,建议用IGameModuel接口替代单例类。

extension function:提供一系列的扩展函数以简化。

utility function:实用静态方法分为几大类,IO,Log,Reflection,Text,UI。

在这里插入图片描述


# XFramework  


本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!