Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/GaoKaiHaHa/MyUnityFrameWork

我的Unity框架,包含资源加载,配置加载,数据加载,UI管理,日志管理,动画系统,特效系统
https://github.com/GaoKaiHaHa/MyUnityFrameWork

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

        

# MyUnityFrameWork
  Unity框架,组件可插拔,可视化编辑,代码自动生成。
  包含资源加载,配置加载,数据加载,UI管理,音频管理,日志管理,动画系统,特效系统等,以及对应编辑器工具
  支持Android、Ios、PC、WEBGL
  项目中的Script/Core目录就是完整框架
  [中文维基](https://github.com/GaoKaiHaHa/MyUnityFrameWork/wiki/%E9%A6%96%E9%A1%B5)
  [English Wiki](https://github.com/GaoKaiHaHa/MyUnityFrameWork/wiki)

## 应用
  1.快速配置开发模式和发布模式(开发模式资源直接从Resources文件夹加载,不需要重新打包)
  2.支持快速定位到某一个游戏流程(某游戏场景,结算界面等),方便测试
  3.开发模式支持运行时性能监控和Debug小窗。
  4.提供Jenkins自动化打包接口ProjectBuildService ([打包教程](http://www.kisence.com/2017/06/01/shi-yong-jenkinsjin-xing-zi-dong-da-bao/) ) 
 
## 游戏流程管理
  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.提供编辑器查看游戏中的数据,(适合用来实时查看非Monobehavior面板数据)
  2.被查看的类只显示Public属性

## 输入管理器
  1.将游戏中接收的所有输入统一管理(包括网络通讯,UI事件,键盘输入,随机数生成,SDK输入等),方便开发和重现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,节约性能。
    ·内置摇杆。
  10.对新手引导做了内置支持
  11.3D模型投射到UI上的工具

## 新手引导系统
  1.内置了新手引导系统,并提供了接口支持拓展功能
  2.可通过Tools->新手引导->初始化/创建预设 来初始化新手引导系统
    ·自动创建GuideWindow类
    ·自动创建GuideWIndow预设
    ·自动创建GuideData数据表
    ·自动创建Guide sortingLayer层(新手引导高亮的UI会放在这个层)
    ·(自动增加 sortingLayer 的代码,请看([教程](http://www.kisence.com/2017/06/28/unitytian-jia-sorting-layerde-fang-fa-2/) )
  3.新手引导通过读取GuideData数据表提供功能
 

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

## 反射查看器
  1.可以浏览Unity的私有方法
  2.支持一键生成调用私有方法代码

## Unity内置GUIStyle查看器
  1.可以查看Unity内置GUIStyele,编辑器界面开发更方便

## Unity内置Icon查看器
  1.可以查看Unity内置图标

## SDK管理器
  1.预留登陆,支付,广告,事件上报以及其他事件接口
  2.提供编辑器一键切换不同平台SDK设置以及插件库(现在SDKManager会直接替换Plugins文件夹)
  3.SDK输入也交给InputManager管理

## 音频管理
  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.提供各种预设特效,开发简单快捷
    ·震屏特效。
    ·屏幕淡入淡出特效。
  2.内置特效LOD管理工具

## 其他功能
  1.Timer
  2.EventDispatch
  3.HeapObjectPool
  4.自动导入FBX到AnimatorControl
  5.自动生成Protocol文件工具