Skip to content

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

Notifications You must be signed in to change notification settings

crystalfish/MyUnityFrameWork

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

MyUnityFrameWork

  Unity框架,组件可插拔,可视化编辑,代码自动生成。
  包含资源加载,配置加载,数据加载,UI管理,音频管理,日志管理,动画系统,特效系统等,以及对应编辑器工具
  支持Android、Ios、PC、WEBGL
  项目中的Script/Core目录就是完整框架
  中文维基
  English Wiki

应用

  1.快速配置开发模式和发布模式(开发模式资源直接从Resources文件夹加载,不需要重新打包)
  2.支持快速定位到某一个游戏流程(某游戏场景,结算界面等),方便测试
  3.开发模式支持运行时性能监控和Debug小窗。
  4.提供Jenkins自动化打包接口ProjectBuildService (打包教程 )   

游戏流程管理

  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 的代码,请看(教程 )
  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文件工具  

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 98.6%
  • Objective-C++ 1.1%
  • Objective-C 0.3%