# QFyooassetframework **Repository Path**: wp245/qfyooassetramework ## Basic Information - **Project Name**: QFyooassetframework - **Description**: 完全不侵入QFramework源代码接入Yooassets资源管理框架 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 7 - **Created**: 2024-08-23 - **Last Updated**: 2025-03-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QFyooassetframework #### 介绍 完全不侵入QFramework源代码接入Yooassets资源管理框架 #### 软件架构 QFramework Yooassets Luban #### 安装教程 1. 克隆项目Unity打开项目即可 2. 或者自行按照: 1、新建立Unity项目 2、接入Qframework 3、接入Yooasset2.X及以上版本 4、如果自己的项目对接可以直击复制这些文件夹到unity项目中即可 #### ![Alt text](Documentation/image.png) ![Alt text](Documentation/image-1.png) ![Alt text](Documentation/image-2.png) 5、Luban接入Unity不需要额外的操作,因为已经将代码继承在了QFluan中,快速只接入Luban 只需要复制QFLuban文件夹与LubanTools到unity中即可 3. 注意 1、QFYooasset中的QFYooAssetsAudioLoaderPool、QFYooAssetsPanelLoaderPool、QFYooAssetRes脚本写死了Yooassets加载的方式是简写加载(即可寻址包名加载,如果要使用全路径需要自行改写这3个脚本中的路径加载) 2、加载方式非常简单:将GameAppMain脚本挂载到场景初始化对象上作为程序入口即可; 注意 GameAppMain.cs内涵架构GameAppArchitecture; 3、QFYooasetModlue.CS脚本中的提供了释放函数,资源更新加载进度函数,可以自行拓展写加载进度UI动画; QFLubanModlue.CS需要再Yoo初始下载资源完毕后调用一次即可正常使用; 4、导表的使用注意直接使用LubanTools文件夹中的gen.bat即可自动生成对应json与c#代码到你当前的项目中! 5、注意LubanTools文件夹位置应该位于你unity项目中且与你的Assets位于同目录下 6、具体luban导表的自定义请查看Luban官方文档,简单易懂 7、文档可以点击以下查看 ### [点击这里查看 API文档](Documentation/API%E6%96%87%E6%A1%A3.md) ### [点击这里查看 使用指南](Documentation/API%E6%96%87%E6%A1%A3.md) ### 简易使用说明 1、代码演示 ``` async void StartGames(StartGamesEvent @event) { //手动初始化因为这个md是要在Yoomd下下载后调用的 this.GetModel().Init(); //声音使用方法 AudioKit.PlayMusic("game_pass", false); //开始使用 var mresLoader = ResLoader.Allocate(); mresLoader.LoadSync("yoo:test").Instantiate().Position(this.Position()).Show(); //场景加载目前只能这样加载 mresLoader.Add2Load("yoo:games", (a, b) => { if (a) { var oper = SceneManager.LoadSceneAsync("games", LoadSceneMode.Single); while (true) { if (oper.progress >= 0.9f) { break; } Debug.Log($"加载场景中...{oper.progress}"); Task.Delay(100); } } }); mresLoader.LoadAsync(); mresLoader.Recycle2Cache(); mresLoader = null; this.GetModel().UnloadUnusedAssetOnChangeSence(); //这里使用的是yoo的简写路径、可以再QFYooAssetsPanelLoaderPool中声明使用简写的路径 UIKit.OpenPanelAsync().ToAction().Start(this); //等待3秒消毁窗口 await Awaitable.WaitForSecondsAsync(3); UIKit.ClosePanel(); //测试luban加载 this.GetModel().tables.TbItem.Get(10001).Id.LogInfo(); } ``` 2、其余使用资源加载方式与reskit、AudioKit、UIKit完全相同自行查看QF文档手册即可 #### 参与贡献 1. QFramework,地址:https://qframework.cn/qf 2. Luabn,地址https://luban.doc.code-philosophy.com/docs/manual/loadconfigatruntime 2. 感谢QF群友大佬 “天下游”的全程协助 #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)