An object that manages the case where an object holds a reference to an asset and needs to be notified when changes occur in the asset. e.g. notifications include load, add and remove events.

Constructors

Accessors

Constructors

  • 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: object | Asset

      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: object;
          load: object;
          remove: object;
          unload: object;
      }

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

      • add: object

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

      • load: object

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

      • remove: object

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

      • unload: object

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

    • Optional scope: object

      The scope to call the callbacks in.

    Returns AssetReference

    Example

    const reference = new pc.AssetReference('textureAsset', this, this.app.assets, {
    load: this.onTextureAssetLoad,
    add: this.onTextureAssetAdd,
    remove: this.onTextureAssetRemove
    }, this);
    reference.id = this.textureAsset.id;

Accessors