Kamikuz / TinaX

TinaX Framework : Unity based Game Client Framework | 基于 Unity 的游戏客户端开发框架

Home Page:https://tinax.corala.space

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TinaX Framework

“开箱即用”的Unity独立游戏开发工具 | Unity-based Game Client Framework

LICENSE 996.icu LICENSE

为美好的引擎献上Framework !

TinaX Framework 开源版


概述

TinaX Framework 是一个基于Unity引擎的游戏开发框架,旨在为中小型游戏提供一个稳定、相对完善的开箱即用的解决方案。

完整文档请访问:tinax.corala.space

预览版本

当前master分支版本为6.4.x,这个版本已经被用于我们的多个生产项目,基本稳定。

但是由于剥离了一些我们团队内部的工具,如基于内部项目管理系统(其实就是禅道)的补丁打包工具、关联到内部服务器的热更新推送、机型性能查询等服务 ,6.4.x的部分功能显得过于孱弱。

于是,我们开始对Framework的部分内容进行重构,重构部分暂时不定期会更新到预览分支

预览分支将在相对稳定之后并入master分支,期间的新功能也会放在预览分支中,master分支不出意外的话,仅进行bug修复相关的更新。

截至2020年1月,预览分支已基本趋于稳定,建议尝试。(但要注意的是,新版的热更新补丁的打包工具我们从框架里移除了,开发者可以在业务逻辑中根据VFS的结构自行编写符合各自项目需求的热更新方案,补丁覆盖在对应位置之后VFS自己会去识别加载的。目前我们也正在探索尝试更加易用高效且大众化的资源解决方案。)

环境要求

Unity 版本

TinaX 最低兼容 Unity 2018.3 以上版本,由于TinaX基于新的Unity prefab机制,固不兼容更低版本。

当前TinaX Framework开发基于 : Unity 2019.2.0b7

当前推荐用于业务的Unity版本: Unity 2019.1.x / Unity 2018.4.x LTS

C# 版本

Unity Api Compatibility Level : .NET 4.x / .NET Standard 2.0

TinaX 功能概述

TinaX 主要实现了以下功能:

Lua 语言支持

出于普遍的热更新需求,TinaX原生提供了基于 Tencent/xlua 的Lua语言运行环境,并为主要功能提供了Lua层面的API支持。

如果不需要Lua环境的话,也可以在项目中将Lua相关功能完全关闭,不会影响包体体积。

虚拟文件系统

虚拟文件系统(VFS: Virtual File System)是TinaX 中实现的基于用来管理资源的功能模块。VFS为业务逻辑开发提供了可虚拟寻址的、统一的资源加载API,并在系统内部处理AssetBundle的依赖加载与释放。

VFS支持热更新。

UIKit 用户界面系统

基于uGUI提供的UIKit工具,提供了统一的、基于页面的UI管理框架。

其他

  • I18N 国际化系统
  • 跨语言的事件消息广播
  • 场景管理工具
  • 简单音频管理
  • wwise扩展接口
  • 全局时间任务调度
  • ……

说明

TinaX Framework 的开发时间跨度有点长,其中可能包含一些作者刚接触Unity不久的萌新时期的不明所以的奇怪代码(虽然它跑起来并没有什么问题),作者也会不断的去找到这些奇怪的代码并优化它。如果您发现有什么匪夷所思的地方,欢迎提PR和Issues,谢谢。

开源引用

TinaX 引用和参考了以下项目:

CatLib.Core

UniRx

SharpZipLib


TinaX 开发时引用了以下项目,但可在使用TinaX时移除这些项目。

xLua

Odin Inspector (付费)

优秀的Unity项目安利

  • QFramework : 一套渐进式的快速开发框架
  • xasset : 一个简易轻量的Unity资源管理框架
  • CatLib : 轻量级依赖注入框架

About

TinaX Framework : Unity based Game Client Framework | 基于 Unity 的游戏客户端开发框架

https://tinax.corala.space

License:Other


Languages

Language:C# 100.0%