LayaDCCClient 提供了 updateAll 方法,自带进度回调,参数是 0 到 1 的数值:
// window.dcc 是 Native 运行时自动创建的 LayaDCCClient 实例
// 如果是 web 环境,需要自己 new LayaDCCClient 并 init
await dcc.updateAll((progress) => {
console.log(`下载进度: ${Math.floor(progress * 100)}%`);
});
这个方法会先统计本地缺少哪些文件,然后并发下载(默认 6 个并发),每下载完一个文件就回调一次进度。
如果你不需要集中下载所有资源,而是想在按需加载时获取单个文件的进度,那 DCC 层面没有提供单文件进度回调——它是整文件下载后直接返回的。单文件进度需要走 Laya 引擎自身的加载进度机制。