Framework For Game Develop with Unity3d.
#==============================
Base 基础工具等
--ByteBuffer 应用配置
ByteBuffer
字节缓存对象
--CommandNode 命令节点
CommandGroup
命令组,并行执行。CommandNode
命令节点CommandSequence
顺序命令节点,有点类似行为树的顺序执行节点
--ConstDefine
DelegateDefine
委托形式的定义LayerDefine
层级定义
--DataStruct 数据结构
Main
测试代码ITestUnit
测试代码IData
数据接口(一个int的value)
---BinaryHeap 二叉树
---BinarySearchHeap 二叉搜索树
---List 链表结构(链表,栈)
--DisposableObject
DisposableObject
可释放对象基类,ResLoader实现此类
--ERunner
ERunner
函数执行封装,配合全局委托的Run使用。
--ExecuteNode
ExecuteNode
执行节点(包含进度)ExecuteNodeContainer
执行节点容器,线性执行
--FSM 完全状态机
FSMState
状态机状态FSMStateFactory
状态工厂类FSMStateMachine
状态机类FSMStateTransition
状态过渡
--Helper 工具类
DateFormatHelper
日期时间格式化输出工具类GameObjectHelper
GameObject扩展类,查找GameObject,支持没有则创建Helper
杂七杂八工具类LogHelper
日志工具类
--Pool 池
游戏中大量东西使用对象池。
GameObjectPool
GameObject对象池GameObjectPoolGroup
GameObject对象池组GameObjectPoolMgr
带一个默认poolgroupIGameObjectPoolStrategy
对象池策略(UI和Default两种策略)ListPool
链表池,用来装链表ObjectPool
对象池 对象缓存要实现ICacheAble的,如果实现ICacheType可在Recycle2Cache中实现回收操作ObjectPoolObserver
对象池观察者,观察对象池的技术情况暂没卵用!!!PoolObjectComponent
用来响应当对象返回池中的时候(OnReset2Cache)
--ProjectConfig 工程配置
ProjectPathConfig
序列化保存工程的一些配置,提供访问器。
--RefCounter 引用计数
RefCounter
引用计数基类,资源系统大量基于引用计数。
--Safty 客户端防作弊数据类型
EInt
安全整型EFloat
安全浮点型
--Singleton 单例
ISingleton
单例接口,所有单例实现OnSingletonInitMonoSingleton
Mono单例TMonoSingleton
Mono单例模版类TMonoSingletonAttribute
单例挂载路径TSingleton
单例模版类
#==============================
Engine 引擎层
--App 应用配置
AppConfig
应用配置解析,包括服务端地址端口,热更新引导的启用与否
--Audio 声音相关
AudioMgr
管理单例型音效播放,提供播放接口等AudioUnit
音效单元管理(可对象池缓存)
--Component 提供组件封装
基本不需要MonoBehavior,可提高大量组件存在时的性能,一个GameObject对应一个AbstractActor,一个AbstractActor中挂载多个ICom
AbstractActor(MonoBehavior)
行为组件基类AbstractCom(ICom)
挂载在Actor上,模拟ComponentAbstractMonoCom(ICom)
挂载在Actor上,模拟MonoBehaviorComOrderDefine
组件排序的定义,根据排序调整调用顺序ICom
挂载在Actor上的组件的接口
--DataRecord 数据保存
DataRecord(singleton)
对PlayerPerfs的调用封装,保存数据用
--Debuger 调试工具集
DebugLogger
输出日志到屏幕或者文件Log
日志打印器,LogLevel控制输出类型,实际在dll中TimeDebugger
打印时间间隔用的
--Event 全局事件系统
EngineEventID
引擎事件ID定义EventRegisterHelper
事件注册反注册辅助工具EventSystem(singleton)
事件系统实现
--GamePlay
游戏逻辑实现相关,目前都是废的。没卵用!!!
--Inputer 输入管理
IInputter
输入处理器接口KeyboardInputter
键盘输入和处理的绑定处理KeyCodeEventInfo
按钮案件状态KeyCodeTracker
按键状态追踪者
--SerializeHelper 序列化工具
SerializeHelper
序列化与反序列化并写入文件工具
--Math 数学工具
MathHelper
数学工具类RandomHelper
随机工具,更随机Rect2D
Rect数据结构
--Path文件和文件路径管理
FileMgr(singleton)
文件管理(支持安卓读取,ab读取,热更新读取路径先后顺序)FilePath
文件路径封装,管理,快速访问接口PathHelper
文件名后缀之类的工具
--ResSystem 资源系统
基于引用计数自动管理资源的加载与释放,上层只需考虑ResLoader即可。不需要考虑ab以及依赖的概念,一概由ResLoader处理。前提要求必须资源名称不同,每个包中的资源必须都是独特的命名。
---AssetDataTable 资源数据结构
ABUnit
AssetBundle信息的封装,其实类似Manifest(依赖,尺寸,md5)AssetData
Asset的数据封装(资源名,ab在package中的索引,资源类型)AssetDataPackage
资源包数据(包中哪些ab之类的)AssetDataTable
资源总表,所有包的都在这里。
---Core 资源系统核心
IEnumeratorTask
携程任务接口,用于异步加载IEnumeratorTaskMgr
携程任务管理接口ResFactory
资源工厂ResMgr(singleton)
资源管理器,处理资源加载任务
----Res 资源类
资源对象卸载后会进入对象池缓存,下次直接使用次对象池,ResFactory中有对象池的最大数量。其实不止ab之类的素材理解为资源,这个资源是宏观概念,包含比如用10个面板,10个角色都可理解为资源。
AbstractRes
所有资源基类,引用计数,依赖引用计数的处理AssetBundleRes
AssetBundle资源(依赖Ab)AssetRes
Asset资源(依赖Ab)BaseRes
基础资源类(InternalRes和AssetRes)主要是Resources.UnloadAsset
HotUpdateRes
内部资源加载的实现为下载,用ResLoader来热更InternalRes
内部Resource的资源IRes
Res接口NetImageRes
网络图片资源,内部实现为下载SceneRes
场景资源
----ResLoader 资源加载器
DefaultLoaderStrategy
默认加载策略IResLoader
资源加载器接口(目前只有一个ResLoader)IResLoaderStrategy
资源加载策略接口ResLoader
资源加载器UILoaderStrategy(singleton)
UI加载策略
---ResUpdate 资源更新
ResPackage
资源包ResPackageHandler
资源包管理(生成更新列表,实际管理下载等)ResUpdateConfig
资源更新配置ResUpdateMgr(singleton)
多个包Hander下载的管理ResUpdateRecord
资源包数据(下载状态,大小记录等)
---Tools 资源系统工具
ABUnitHelper
资源更新列表计算器
----ResDownloader 资源下载器
HttpDownloaderMgr
Http下载管理器(HttpWebRequest)IHttpDownloader
实际网络下载器接口ResDownloader
资源下载器(管理WWWDownloader)WWWDownloader
WWW实现下载器
----ResHolder 资源保持器
ResHolder
资源保持器,保持常用资源,Shader,通用音效等ShaderFinder
加载ab中的Shader的方法。专门用于访问shader的工具
--SceneMgr 场景管理
SceneMgr
--TableMgr 表管理
暂缺
--Text 字符串正则处理
RegexHelper
正则处理工具类
--Timer 定时器
TimeItem
定时器实例子Timer(singleton)
所有定时器管理(用了最小堆)TimerHelper
没卵用!!!
--UI UI管理及工具
UIMgr(singleton)
UI管理器EngineUI
引擎UI定义PanelChain
面板关联工具类PanelInfo
面板状态,UIMgr直接管理PanelInfo,PanelInfo在管理面板,Panel的handle控制者UIDataTable
UI的资源,特性的注册映射表
---Helper
EffectMask
UI粒子特效的这招ResolutionHelper
分辨率适配工具SortingOrderObserver
排序观察者(OnSortingOrderUpdate)TweenHelper
缓动工具UIEffectHelper
UI特效工具UIFinder
UI查找工具(节点查找)UIHelper
UI工具(灰显,修改父节点)UITools
UI工具(设置层级,点击状态,画布状态)
---UGUI
AbstractPage
UI中的子界面,子模版(subview)AbstractPanel
UI窗口面板(window,也可以当page用)AbstractUIElement
UI元素基类IView
没卵用的接口,面板内部事件ViewEventLuaPanel
没什么卵用UIRoot
处理排序,访问跟上的相机等
--WorldMgr 世界管理(没卵用)
没卵用没卵用没卵用没卵用
--ZipMgr 压缩管理器
ZipMgr(singleton)
解压数据
#==============================
Framework 框架层
--Client 客户端
AbstractClient
客户端基类,模拟用,目前没卵用!!!
--Gameplay 游戏玩法
IGameplay
游戏玩法接口,目前没卵用!!!
--Guide 引导系统
Command负责执行行为
Trigger 负责处理触发,需要被触发的继承 GuideTriggerHandler
Guide 为步骤链,由Trigger触发,不可执行命令,只能控制步骤
GuideStep 为引导的每个步骤,由Trigger触发,触发后执行command
GuideStep有一个KeyFrame用于控制是否在本步骤保存进度
Guide(GuideTriggerHandler)
引导链GuideCommandFactory
引导命令工厂GuideMgr
引导管理器GuideStep(GuideTriggerHandler)
引导步骤类GuideTriggerFactory
引导触发器工厂
---Command 命令行为
AbstractGuideCommand
命令类基类ButtonHackCommand
Button操作屏蔽EventPauseCommand
UI操作关闭GuideHandCommand
指引手指命令HighlightUICommand
高亮UI控件PlayAudioCommand
播放音效TimerCommand
延迟命令
---Help 工具类
GuideConfigParamProcess
解析参数IUINodeFinder(interface)
UI查找器接口MonoFuncCall(command)
执行代码UINodeFinder(UI查找器实现)
查找UI控件
---RuntimeParam 运行时参数
IRuntimeParam(interface)
运行时参数接口RuntimeParamFactory(singleton)
运行时参数工厂类
---Trigger 触发器
GuideTriggerHandler
引导出发器控制器(管理trigger)ITrigger
触发器接口TopPanelTrigger
顶层面板发生改变时触发UINodeVisibleTrigger
UI节点显示状态改变时触发
---UI 引导UI相关
GuideHandPanel
引导手指动画面板GuideHighlightMask
高亮遮罩形状控制脚本HighlightMaskPanel
高亮遮罩面板RectTransformHelper
rectTransform工具类
--Memory 内存调试
MemoryMgr(singleton)
左上角内存显示
--Module 模块
AbstractModuleMgr
模块管理器基类
---Modules 模块相关
IModule
模块接口,重命名接口AbstractModule
模块基类AbstractMonoModule
没卵用!!!AbstractStartProcess
启动器基类
--Servers 服务器
AbstractServer
服务器基类
--Tables 表格管理
提供三个默认表 Const表,引导,语言
--UI UI封装
提供组件,通用控件,MessageBox,UI过渡等功能