完全不侵入QFramework源代码接入Yooassets资源管理框架
QFramework Yooassets Luban
克隆项目Unity打开项目即可
或者自行按照:
1、新建立Unity项目
2、接入Qframework
3、接入Yooasset2.X及以上版本
4、复制QFYooasset文件夹到unity项目中即可
5、Luban接入Unity不需要额外的操作,因为已经将代码继承在了QFluan中,快速只接入Luban 只需要复制QFLuban文件夹与LubanTools到unity中即可
注意
1、QFYooasset中的QFYooAssetsAudioLoaderPool、QFYooAssetsPanelLoaderPool、QFYooAssetRes脚本写死了Yooassets加载的方式是简写加载(即可寻址包名加载,如果要使用全路径需要自行改写这3个脚本中的路径加载)
2、加载方式非常简单:将QFYooassets_Init脚本挂载到场景初始化对象上作为程序入口即可。
3、当前没有实现资源下载进度动画,只单纯的实现了资源加载debu进度,需要实现加载动画的自行调用QFYooassets_Init脚本中 OnDownloadProgressUpdateFunction中的返回值即可
4、导表的使用注意直接使用LubanTools文件夹中的gen.bat即可自动生成对应json与c#代码到你当前的项目中!
5、注意LubanTools文件夹位置应该位于你unity项目中且与你的Assets位于同目录下
6、具体luban导表的自定义请查看Luban官方文档,简单易懂
1、代码演示
void StartGames()
{
// 添加创建器加载模板与初始化接入yoo资源管理
ResKit.InitAsync().ToAction().Start(this);
UIKit.Config.PanelLoaderPool = new QFYooAssetsPanelLoaderPool();
AudioKit.Config.AudioLoaderPool = new QFYooAssetsAudioLoaderPool();
ResFactory.AddResCreator<QFYooAssetResCreator>();
//这里使用的是yoo的简写路径、可以再QFYooAssetsPanelLoaderPool中声明使用简写的路径
UIKit.OpenPanelAsync<UIGameStart>().ToAction().Start(this);
//注意声音与UI可以不需要跟"yoo"因为已经写好了正常使用简写即可
AudioKit.PlayMusic("game_pass", false);
//开始使用
var mresLoader = ResLoader.Allocate();
mresLoader.LoadSync<GameObject>("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;
UIKit.ClosePanel<UIGameStart>();
//测试luban加载
QFluabanMain.Instance.Init(); //需要初始化QFlunban
QFluabanMain.Instance.tables.TbItem.Get(10001).Id.LogInfo();
}
2、其余使用资源加载方式与reskit、AudioKit、UIKit完全相同自行查看QF文档手册即可
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。