Skip to content

Knight is a game framework based on Unity3D engine. It includes a complete assetbundle manager, a c# hotfix module based on ILRuntime, and a UI module based on MVVM, and other basic functions support.

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Doc
Apr 10, 2019
Dec 21, 2020

knight

支持一波996.ICU 996.icu

Knight是一个基于Unity引擎的游戏GamePlay框架,提供一些简单易用的游戏框架接口,目的让开发者更加专注于游戏内容的开发。

它包含了一个完整的资源管理模块(打包、下载、加载、版本管理),一个基于ILRuntime的C#热更模块,一个基于MVVM的UI框架(支持热更新)以及其他基础功能的支持。

本框架将会持续更新,后期会不断修改和完善框架中的内容。目前使用的Unity版本为Unity2019.1.2f1。 目前Master分支中将所有的模块全部移到Packages里面去了,并使用PackageManager来管理他们,以实现使用时可随时插拔。 knight的框架结构

更新日志(2019/5/13)

  • 更新Unity版本到Unity2019.1.0f2。
  • UI模块重构,ViewModel可以在UI模块间复用,纯数据信息在全局任意地方通过ViewModelManager访问。
  • UI模块重构,新增DatabindingConvert转换器,可以支持BindOneWay两个不同类型变量之间的转化。
  • UI模块重构,新增DatabindingRelated关联标签,支持ViewModel中一个变量改变了,其关联的其他变量也会随着一起更新到UI中。
  • UI模块重构,通过Mono.Ceil静态注入的方法,让ViewModel不用再手写this.PropChanged了。
  • UI模块重构,UI的资源加载方式变成同步加载,以避免界面闪烁。
  • Tweening模块重构,新增多段式的补间动画类,TweeningAnimator。

更新日志(2019/3/31)

  • 框架中所有模块完全解耦,除了Knight.Core模块是必须的公共依赖模块之外,每个模块被分成了单个的Package包,可以自己选择性的使用这些框架模块。
  • ILRuntime更新到最新版本,支持Unity2018.3以上的版本,并且可以断点调试异步逻辑了。
  • 热更新逻辑放在Assets中进行管理,使用Unity自身进行编译并自动生成.bytes的DLL文件,无需另开vs再对热更工程进行手动编译了。
  • Assetbundle资源管理模块,支持Editor完全无需构建Assetbundle操作就可以直接运行游戏。
  • 暂时去掉ET服务器部分,但是客户端网络模块继续保留。

运行游戏

  • 运行菜单Tools/Assetbundle/Assetbundle Build命令,构建Assetbundle资源包,如果勾上Tools/Develope Mode和Simulate Mode的话,就可以不用该步骤。
  • 打开Assets/Game/Scene/Game.unity场景,点Play运行游戏Demo。

主要功能介绍

插件(感谢以下插件和框架对knight的底层功能的支持)

联系方式

About

Knight is a game framework based on Unity3D engine. It includes a complete assetbundle manager, a c# hotfix module based on ILRuntime, and a UI module based on MVVM, and other basic functions support.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages