Class: AssetLibrary

AssetLibrary

AssetLibrary provides a way to load a collection of assets. These can be textures, models, plain text, json, ... Assets need to be queued with a given ID and loading starts when requested. When loading completes, the ID can be used to retrieve the loaded asset.


new AssetLibrary(basePath [, crossOrigin])

Parameters:
Name Type Argument Description
basePath string

The base path or url to load the assets from. All filenames will have this value prepended.

crossOrigin string <optional>

An optional cross origin string. This is used when loading images from a different domain.

Properties:
Name Type Description
onComplete Signal

The Signal dispatched when all assets have completed loading. Its payload object is a reference to the assetLibrary itself.

onProgress Signal

The Signal dispatched when all assets have completed loading. Its payload is the ratio of loaded objects for 0 to 1.

basePath string

The base path relative to which all the filenames are defined. This value is set in the constructor.

crossOrigin string

A cross origin string. This is used when loading images from a different domain.

Author:
  • derschmale <http://www.derschmale.com>
Example
var assetLibrary = new HX.AssetLibrary("assets/");
assetLibrary.queueAsset("some-model", "models/some-model.obj", HX.AssetLibrary.Type.ASSET, HX_IO.OBJ);
assetLibrary.queueAsset("some-texture", "textures/some_texture.png", HX.AssetLibrary.Type.ASSET, HX.PNG);
assetLibrary.onComplete.bind(onAssetsLoaded);
assetLibrary.onProgress.bind(onAssetsProgress);
assetLibrary.load();

function onAssetsLoaded()
{
// do something
}

function onAssetsProgress(ratio)
{
     var percent = ratio * 100
}

Members


<static> Type

The type of asset to load. For example: AssetLibrary.Type.JSON for a JSON object.

Properties:
Name Type Default Description
JSON 0

A JSON data object.

ASSET 1

A Helix-based asset.

PLAIN_TEXT 2

A plain text file.

RAW_BINARY 3

Raw binary data

Methods


addAsset(id, asset)

Adds an asset explicitly.

Parameters:
Name Type Description
id string

The ID assigned to the asset when calling get

asset

The asset to add to the library


get(id)

Retrieves a loaded asset from the asset library. This method should only be called once onComplete has been dispatched.

Parameters:
Name Type Description
id string

The ID assigned to the loaded asset when calling queueAsset

Returns:

The loaded asset.

Type
*

load()

Start loading all the assets. Every time a single asset finished loading, onProgress is dispatched. When all assets have finished loading, onComplete is dispatched.


mergeLibrary(library)

Merges the contents of another library into the current.

Parameters:
Name Type Description
library AssetLibrary

The library to add.


queueAsset(id, file, type, parser [, options] [, target])

Adds an asset to the loading queue.

Parameters:
Name Type Argument Description
id string

The ID that will be used to retrieve the asset when loaded.

file string

Either a File object or a filename relative to the base path provided in the constructor.

type AssetLibrary.Type

The type of asset to be loaded.

parser

The parser used to parse the loaded data.

options <optional>

An optional options object (importer-dependent)

target <optional>

An optional empty target to contain the parsed asset. This allows lazy loading.

See:
  • AssetLibrary#Type