功能特性
KSFramework中包含(不限于)以下开箱即用的功能特性,大大减少你重复造轮子的时间,代码可读性高。
资源模块
- Unity引擎的一键打包Asset Bundle
- AssetBundle加载器,加载时自动处理依赖关系
- 资源路径约定,自动设置abName
- 热更新资源(下载和制作更新包)
- 手动的、引用计数的资源释放策略
- ~~资源运行时重载(减引用计数)~~
配置表模块
- 提供可视化且对策划非常友好的导表工具TableML GUI
- 自动编译Excel,支持在表中添加注释,注释行,列
- Excel表头,可设置数据类型(如int, array的声明)
- 自动生成配置表读取代码、Luatable、SQLite
- 支持惰式加载,无初始化的时间消耗
- 支持热重载,运行时修改配置表无需重启
UI模块
- 约定优于配置式的UI框架
- 快速导出当前编辑的UI
- 支持热重载,运行时修改UI脚本无需重启
- 对UGUI的SpriteAtlas管理
脚本模块
- 支持多种热更新方案,减少集成难度
- 路径约定,通过import函数进行加载
- 缓存机制配合import函数,可实现所有脚本的热重载
- Lua新增using函数类似于C#中的using,暴露使用table中的属性为全局使用
- 可以在编辑器非运行模式下执行Lua脚本,支持简单Lua单元测试
多语言模块
- 基于配置表模块
- 约定好多语言字符串的机制
- ~~多语言字符串收集器~~
Unity编辑器强化
- UI编辑器,一键生成APK
- 封装Unity编辑器的各种事件,如编译前、播放前、暂停时等
下载资源更新
- 游戏启动时根据filelist下载差异文件进行代码和资源的更新
- 生成版本差异文件的python脚本
面向人群
KSFramework是为中大型团队、多人协作而设计的,如果是小项目,使用KSFramework只会徒增您的烦恼,Unity的易用性本身就做得很好。