完全不侵入QFramework源代码接入Yooassets资源管理框架
QFramework Yooassets Luban
克隆项目Unity打开项目即可
或者自行按照:
1、新建立Unity项目
2、接入Qframework
3、接入Yooasset2.X及以上版本
4、如果自己的项目对接可以直击复制这些文件夹到unity项目中即可
5、Luban接入Unity不需要额外的操作,因为已经将代码继承在了QFluan中,快速只接入Luban 只需要复制QFLuban文件夹与LubanTools到unity中即可
注意
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、文档可以点击以下查看
1、代码演示
```
async void StartGames(StartGamesEvent @event)
{
//手动初始化因为这个md是要在Yoomd下下载后调用的
this.GetModel<QFLubanModule>().Init();
//声音使用方法
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;
this.GetModel<QFYooassetModule>().UnloadUnusedAssetOnChangeSence();
//这里使用的是yoo的简写路径、可以再QFYooAssetsPanelLoaderPool中声明使用简写的路径
UIKit.OpenPanelAsync<UIGameStart>().ToAction().Start(this);
//等待3秒消毁窗口
await Awaitable.WaitForSecondsAsync(3);
UIKit.ClosePanel<UIGameStart>();
//测试luban加载
this.GetModel<QFLubanModule>().tables.TbItem.Get(10001).Id.LogInfo();
}
```
2、其余使用资源加载方式与reskit、AudioKit、UIKit完全相同自行查看QF文档手册即可
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。