Base
GameFramework/Base
- GameFrameworkEntry
- 这是个静态类,是游戏框架的入口。
- Update、Shutdown方法,让游戏框架的模块拥有轮询和关闭方法。
- 获取模块,在GameFramework里面框架的组成单元叫模块,在UnityGameFramework里面的组成单元叫组件。模块跟Unity没有关系,组件跟Unity有直接关系。
- 如果获取组件失败,则创建,
Activator.CreateInstance(moduleType)
- GameFrameworkAction
- 这个脚本定义了框架用到的不带返回值委托,最多支持16个参数。
- GameFrameworkEventArgs
- 框架事件参数类
- GameFrameworkException
- 框架异常处理类
- GameFrameworkFunc
- 这个脚本定义了框架用到的带返回值的委托,最多支持16个参数。
- GameFrameworkLinkedList
- 针对LinkedList的封装,增加了缓存队列,减少GC次数,重复利用节点。
- GameFrameworkLinkedListRange
- 针对LinkedList的封装,设置了链表的起点和终点,只能在起点和终点这个范围内取值。
- GameFrameworkModule
- 模块的抽象基类,定义了轮询的优先级,轮询方法,关闭清理方法。
- GameFrameworkMultiDictionary
- 把字典的值,改成了链表
- GameFrameworkSerializer
- 序列化,反序列化,取值
GameFramework/Base/DataProvider
- DataProvider
- 数据提供者,提供了数据读取成功、失败、依赖读取、更新回调,提供读取资源、读取二进制数据回调,数据的持有者,资源管理器(主要用来加载资源),辅助器(主要用来解析资源)
- DataProviderCreator
- 数据提供者创建器,创建数据提供者,并且提供数据缓存区的操作。
- IDataProvider
- 数据提供者接口
- IDataProviderHelper
- 辅助器接口
- ReadDataDependencyAssetEventArgs、ReadDataFailureEventArgs、ReadDataSuccessEventArgs、ReadDataUpdateEventArgs
- 对应事件回调的参数。
GameFramework/Base/DataStruct
- TypeNamePair
- 类型和名称的组合值,用来做各种字典的key
GameFramework/Base/EventPool
- BaseEventArgs
- 事件参数基类
- EventPool
- 事件池,提供了事件的订阅,反订阅,触发(抛出事件,这个操作是线程安全的,即使不在主线程中抛出,也可保证在主线程中回调事件处理函数,但事件会在抛出后的下一帧分发。),立即触发(抛出事件立即模式,这个操作不是线程安全的,事件会立刻分发。)
- EventPoolMode
- 事件池模式。
- 默认事件池模式,即必须存在有且只有一个事件处理函数。
- 允许不存在事件处理函数。
- 允许存在多个事件处理函数。
- 允许存在重复的事件处理函数。
- 事件池模式。
GameFramework/Base/Log
- GameFrameworkLog
- 常规的日志类,具体的日志实现,由辅助器负责。
- GameFrameworkLogLevel
- 游戏框架日志等级。
- 调试
- 信息
- 警告
- 错误
- 严重错误
- 游戏框架日志等级。
GameFramework/Base/ReferencePool
- ReferencePool
- 引用池。这里有几个概念:
- UnusedReferenceCount,没有使用的引用数,这里是指引用队列里面还有多少个引用。
- UsingReferenceCount,使用引用数,是指这个引用正在使用的次数,Acquire的时候加1,Release的时候减1.
- AcquireReferenceCount,获取引用数,是指调用Acquire多少次,也就是这个引用被获取的多少次。
- ReleaseReferenceCount,释放引用数,是指调用Release多少次,也就是这个引用被释放了多少次。
- AddReferenceCount,添加引用数,是指调用Add多少次,也就是这个引用被增加了几次,增加是只加不用。
- RemoveReferenceCount,移除引用数,是只调用Remove多少次,也就是这个引用被移除了几次,移除是只移除不释放。
- 引用池。这里有几个概念:
- ReferencePoolInfo
- 引用池信息。在调用GetAllReferencePoolInfos,返回引用信息的时候使用。
Event
GameFramework/Event
- EventManager
- 事件管理器,核心就是调用了事件池,作为游戏框架模块,多了一个优先级。
- GameEventArgs
- 游戏事件基类
- IEventManager
- 事件管理器接口
Helper
框架中有很多辅助器Helper,一般都定义了一系列接口,用于处理容易变化的逻辑。比如资源加载完成后的逻辑处理。框架把资源的二进制数据加载出来后,就交给辅助器进行解析,这样,客户端就可以根据自己的需求,实现资源的解析方式。