QFramework.Toolkits 是包含 QFramework.cs 和 大量工具集的解决方案。
在 QFramework v1.0 之前,QFramework.Toolkits 就是 QFramework 本身,而在 QFramework v1.0 开始,QFramework 拥有了自己的开发架构—QFramework.cs,于是原来的 QFramework 就变成了 QFramework.Toolkits。
QFramework.Toolkits 称为 QFramework 工具集,是一套开箱即用的、渐进式的快速开发框架。
目标是作为无框架经验的公司、独立开发者、以及 Unity3D 初学者们的第一套框架。框架内部积累了多个项目在各个技术方向的解决方案。学习成本低,接入成本低(侵入性低),重构成本低,二次开发成本低。文档内容丰富。
QFramework 工具集的设计哲学是追求极致的开发效率和开发体验。
QFramework.Toolkits 特性一览
- 工具集(QFramework.Toolkits v0.16)
- UIKit 界面&View快速开发&管理解决方案
- UI、GameObject 的代码生成&自动赋值
- 界面管理
- 层级管理
- 界面堆栈
- 默认使用 ResKit 方式管理界面资源
- 可自定义界面的加载、卸载方式
- Manager Of Manager 架构集成(不推荐使用)
- ResKit 资源快速开发&管理解决方案
- AssetBundle 提供模拟模式,开发阶段无需打包即可加载资源
- 资源名称代码生成支持
- 同一个 API 可加载 AssetBundle、Resources、网络 和 自定义来源的资源
- 提供一套引用计数的资源管理模型
- AudioKit 音频管理解决方案
- 提供背景音乐、人声、音效 三种音频播放 API
- 音量控制
- 默认使用 ResKit 方式管理音频资源
- 可自定义音频的加载、卸载方式
- CoreKit 提供大量的代码工具
- ActionKit:动作序列执行系统
- CodeGenKit:代码生成 & 自动序列化赋值工具
- EventKit:提供基于类、字符串、枚举以及信号类型的事件工具集
- FluentAPI:对大量的 Unity 和 C# 常用的 API 提供了静态扩展的封装(链式 API)
- IOCKit:提供依赖注入容器
- LocaleKit:本地化&多语言工具集
- LogKit:日志工具集
- PackageKit:包管理工具,由此可更新框架和对应的插件模块。
- PoolKit:对象池工具集,提供对象池的基础上,也提供 ListPool 和 Dictionary Pool 等工具。
- SingletonKit:单例工具集
- TableKit:提供表格类数据结构的工具集
- UIKit 界面&View快速开发&管理解决方案
典型的 QFrameowrk.Toolkits 代码
using QFramework;
using UnityEngine;
using UnityEngine.UI;
namespace liangxiegame
{
public partial class UIGamePanel : UIPanel
{
private ResLoader mResLoader;
protected override void OnInit(IUIData uiData = null)
{
mResLoader = ResLoader.Allocate();
mResLoader.LoadSync<GameObject>("GameplayRoot")
.Instantiate()
.Identity()
.GetComponent<GameplayRoot>()
.InitGameplayRoot();
BtnPause.onClick.AddListener(() =>
{
AudioKit.PlaySound("btn_click");
ActionKit.Sequence()
.Callback(() => BtnPause.interactable = false)
.Callback(() => BtnPause.PlayBtnFadeAnimation())
.Delay(0.3f)
.Callback(() => UIKit.OpenPanel<UIPausePanel>())
.Start(this);
});
}
protected override void OnClose()
{
mResLoader.Recycle2Cache();
mResLoader = null;
}
}
}
更多内容
- 转载请注明地址:liangxiegame.com (首发) 微信公众号:凉鞋的笔记
- QFramework 主页:qframework.cn
- QFramework 交流群: 623597263
- QFramework Github 地址: https://github.com/liangxiegame/qframework
- QFramework Gitee 地址:https://gitee.com/liangxiegame/QFramework
- GamePix 独立游戏学院 & Unity 进阶小班地址:https://www.gamepixedu.com/