当前位置: 首页 > news >正文

QFramework v1.0 使用指南 工具篇:01. QFramework.Toolkits 简介

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:提供表格类数据结构的工具集

典型的 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/

相关文章:

  • 怎么用服务器做网站/站内优化seo
  • c2c网站建设策划书/郑州seo外包v1
  • 网站绑定公众号/衡阳seo优化首选
  • 国内10大网站建设公司/网络营销策划方案书
  • 网站系统流程图/市场推广方案范文
  • 网站被iframe/重庆网站排名推广
  • JS(第六课)流程控制语句
  • REACT:react-router-dom详解
  • 【AI】Best-first search (or Greedy Search) 最佳优先搜索(或贪婪搜索)
  • android手机免费无线投屏电脑方法教程步骤AirServer7
  • 【PyTorch深度学习项目实战100例】—— 基于BiGRU短期电力负荷预测方法 | 第28例
  • STM32:串口协议(内含:1.通信接口+2.串口通信+3.硬件电路+4.电平标准+5.串口参数及时序+6.串口时序)
  • 软考高级系统架构设计师系列论文五十四:论软件设计模式及应用
  • Tomcat值NGINX+Tomcat实现负载均衡、动静分离集群部署
  • 我用【c++】写出了会说话的学生考勤系统
  • Redis的性能优化一些方案
  • Keras深度学习实战(30)——使用文本生成模型进行文学创作
  • 视觉目标检测大模型套件detrex-调研