How to use the dcl-catalyst-commons.EntityType.SCENE function in dcl-catalyst-commons

To help you get started, we’ve selected a few dcl-catalyst-commons examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github decentraland / explorer / kernel / packages / decentraland-loader / lifecycle / controllers / download.ts View on Github external
for (const tile of tiles) {
      let promise: IFuture

      if (this.positionToSceneId.has(tile)) {
        promise = this.positionToSceneId.get(tile)!
      } else {
        promise = future()
        this.positionToSceneId.set(tile, promise)
        missingTiles.push(tile)
      }

      futures.push(promise.then((id) => [tile, id]))
    }

    if (missingTiles.length > 0) {
      const scenes = await this.catalyst.fetchEntitiesByPointers(EntityType.SCENE, missingTiles)

      // resolve promises
      for (const scene of scenes) {
        for (const tile of scene.pointers) {
          if (this.positionToSceneId.has(tile)) {
            const promise = this.positionToSceneId.get(tile)
            promise!.resolve(scene.id)
          } else {
            // if we get back a pointer/tile that was not pending => create the future and resolve
            const promise = future()
            promise.resolve(scene.id)
            this.positionToSceneId.set(tile, promise)
          }
        }

        const sceneId = scene.id

dcl-catalyst-commons

Common tools and types to share between catalyst servers and clients

Apache-2.0
Latest version published 12 months ago

Package Health Score

45 / 100
Full package analysis