| 282 | } |
| 283 | |
| 284 | async loadAllResources( |
| 285 | onProgress: (loadingCount: integer, totalCount: integer) => void |
| 286 | ): Promise<void> { |
| 287 | let loadedCount = 0; |
| 288 | await ResourceLoader.processAndRetryIfNeededWithPromisePool( |
| 289 | [...this.privateResourceManager._resources.values()], |
| 290 | ResourceLoader.maxForegroundConcurrency, |
| 291 | ResourceLoader.maxAttempt, |
| 292 | async (resource) => { |
| 293 | await this.privateResourceManager._loadResource(resource); |
| 294 | await this.privateResourceManager._processResource(resource); |
| 295 | loadedCount++; |
| 296 | onProgress(loadedCount, this.privateResourceManager._resources.size); |
| 297 | } |
| 298 | ); |
| 299 | |
| 300 | this.sceneResourceLoadingQueue.setAllResourcesAs('ready'); |
| 301 | for (const objectResourceLoadingQueue of this.objectResourceLoadingQueues.values()) { |
| 302 | objectResourceLoadingQueue.setAllResourcesAs('ready'); |
| 303 | } |
| 304 | } |
| 305 | |
| 306 | async loadResources( |
| 307 | resourceNames: Array<string>, |