Engine API Reference - v2.23.0-beta.17
    Preparing search index...

    Class AssetReference

    An AssetReference follows a single asset slot on behalf of its owner, such as the texture property of a component, and calls back when that asset is added to the registry, loads or is removed. Point it at an asset by setting id or url. The asset does not need to exist yet: the add callback fires when an asset with that id or URL is later registered. The unload callback is delivered only for a reference by id.

    const reference = new AssetReference('textureAsset', this, this.app.assets, {
    load: this.onTextureAssetLoad,
    remove: this.onTextureAssetRemove
    }, this);
    reference.id = this.textureAsset.id;
    Index
    • Create a new AssetReference instance.

      Parameters

      • propertyName: string

        The name of the property that the asset is stored under, passed into callbacks to enable updating.

      • parent: any

        The parent object that contains the asset reference, passed into callbacks to enable updating. Currently an asset, but could be component or other.

      • registry: AssetRegistry

        The asset registry that stores all assets.

      • callbacks: { add?: any; load?: any; remove?: any; unload?: any }

        A set of functions called when the asset state changes: load, add, remove.

        • Optionaladd?: any

          The function called when the asset is added to the registry add(propertyName, parent, asset).

        • Optionalload?: any

          The function called when the asset loads load(propertyName, parent, asset).

        • Optionalremove?: any

          The function called when the asset is remove from the registry remove(propertyName, parent, asset).

        • Optionalunload?: any

          The function called when the asset is unloaded unload(propertyName, parent, asset).

      • Optionalscope: any

        The scope to call the callbacks in.

      Returns AssetReference

      const reference = new AssetReference('textureAsset', this, this.app.assets, {
      load: this.onTextureAssetLoad,
      add: this.onTextureAssetAdd,
      remove: this.onTextureAssetRemove
      }, this);
      reference.id = this.textureAsset.id;
    • get url(): string | null

      Gets the asset url which this references.

      Returns string | null

    • set url(value: string | null): void

      Sets the asset url which this references. One of either id or url must be called to initialize an asset reference.

      Parameters

      • value: string | null

      Returns void