/MyUnityFrameWork

我的Unity框架,包含资源加载,配置加载,数据加载,UI管理,日志管理,动画系统,特效系统

Primary LanguageC#

MyUnityFrameWork

Unity框架,组件可插拔,可视化编辑,代码自动生成。
包含资源加载,配置加载,数据加载,UI管理,音频管理,日志管理,动画系统,特效系统等,以及对应编辑器工具

##应用 1.快速配置开发模式和发布模式(开发模式资源直接从Resources文件夹加载,不需要重新打包)
2.支持快速定位到某一个游戏流程(某游戏场景,结算界面等),方便测试
3.开发模式支持运行时性能监控和Debug小窗。
##游戏流程管理 1.游戏逻辑入口从某一个游戏流程开始(创建一个流程继承IGameStatus,然后再ApplicationManager中选择它作为第一个流程)
2.提供测试接口,可传入测试数据,直接测试某一个流程不需要把游戏从头运行一次
3.游戏启动时允许呼出开发者控制台,在真机上定位问题更快捷(查看以往日志数据、复盘Bug操作等)

##资源加载 1.可视化依赖包管理工具,打包进度可视,不再干等着了
2.Resource和AssetsBundle两种加载模式,简单切换开发与发布状态
3.统一加载接口,上层逻辑无需关心使用哪种方式加载资源
4.多种资源管理机制,读取效率与内存占用的平衡

#热更新管理器 1.内置热更新流程
2.一行代码启动热更新,返回热更新进度和更新状态(界面可另行编写)

#Lua 1.集成uLua,并精简了一部分uLua代码
2.内置Lua设置编辑器
3.内置Lua库(UIManager,StatusManager,EvnetDispatcher,Timer等)

##配置加载 1.一行代码读取和保存配置,方便快捷
2.可将类序列化保存到配置中,快速使用
3.配置可读可写
4.有对应的配置编辑器
##数据加载 1.数据可使用默认值,可以让程序不用等策划,并且修改默认值非常方便
2.数据键值对方便拓展, 策划不用等程序
3.数据在运行时只读
4.支持一键生成对应的数据类对象,不需要手写查数据了
5.有对应的数据编辑器

##持久化数据 1.游戏中产生的需要长期存放的数据可以放在这里
2.提供编辑器查看这些临时数据

##输入管理器 1.将游戏中接收的所有输入统一管理(包括网络通讯,UI事件,键盘输入,随机数生成等),方便开发和重现BUG

##联网系统 1.支持多种网络协议(目前只支持了TCP),可通过接口拓展
2.支持多种通讯类型(目前支持Json,protocol)
3.派发连接事件(成功、失败、断开等)
4.所有网络事件通过输入管理器管理

##UI系统 1.方便快捷的多语言管理方案
2.方便快捷的风格管理方案,一套风格,多处公用,一次修改
3.粒子系统和UI完美嵌套
4.支持3DUI和2DUI
5.支持浮动UI(血条,昵称等)
6.方便好用的事件系统
7.UI编辑工具
·方便地创建UIManager,设定分辨率,EventSystem等
·自动生成脚本以及UI
·支持编辑和使用UI预设模板,支持批量修改使用了模板的UI
·支持使用预设UIStyle,功能相近的UI使用同一套Style,并支持批量修改
8.多语言支持
9.方便好用的拓展组件
·重用Item的scrollRect,不会一下子加载太多item,节约性能。
·内置摇杆。  

##游戏对象管理器 1.方便加载游戏对象
2.内置对象池

##音频管理 1.总音量,音乐音量,音效音量控制
2.一行代码播放各种音乐音效
3.支持2D/3D音乐音效
##开发者工具 1.收集关键日志和崩溃日志,发送给开发者,或者在真机下查看(日志在 persistent路径\Log文件夹下)
2.同时按下5根手指呼出游戏内控制台,监控帧率与内存使用量
3.框架内置复盘模式,重放Bug出现的所有输入,方便复现Bug,并支持导出操作记录
##动画系统 1.支持UGUI动画,使用定位更精确
2.支持多种动画方式
3.支持贝塞尔曲线
4.支持多种插值类型
5.参照Itween,一行代码播放各种动画
6.更加方便的动画播放完毕回调
7.支持多种重复模式YoYo,reset等
8.支持延时播放动画
9.支持忽略TimeScale等多种播放方式
10.支持自定义传参函数

##特效系统 1.提供各种预设特效,开发简单快捷
·震屏特效。
·屏幕淡入淡出特效。

##其他功能 1.Timer
2.EventDispatch