starling-framework
Version:
A fast, productive library for 2D cross-platform development.
66 lines • 3.21 kB
TypeScript
import AssetReference from "./AssetReference";
import AssetFactoryHelper from "./AssetFactoryHelper";
import Vector from "openfl/Vector";
declare namespace starling.assets {
/**
* An AssetFactory is responsible for creating a concrete instance of an asset.
* *
* * <p>The AssetManager contains a list of AssetFactories, registered via 'registerFactory'.
* * When the asset queue is processed, each factory (sorted by priority) will be asked if it
* * can handle a certain AssetReference (via the 'canHandle') method. If it can, the 'create'
* * method will be called, which is responsible for creating at least one asset.</p>
* *
* * <p>By extending 'AssetFactory' and registering your class at the AssetManager, you can
* * customize how assets are being created and even add new types of assets.</p>
*
*/
export class AssetFactory {
/**
* Creates a new instance.
*/
protected constructor();
/**
* Returns 'true' if this factory can handle the given reference. The default
* * implementation checks if extension and/or mime type of the reference match those
* * of the factory.
*/
canHandle(reference: AssetReference): boolean;
/**
* This method will only be called if 'canHandle' returned 'true' for the given reference.
* * It's responsible for creating at least one concrete asset and passing it to 'onComplete'.
* *
* * @param reference The asset to be created. If a local or remote URL is referenced,
* * it will already have been loaded, and 'data' will contain a ByteArray.
* * @param helper Contains useful utility methods to be used by the factory. Look
* * at the class documentation for more information.
* * @param onComplete To be called when loading is successful. 'type' parameter is optional.
* * <pre>function(name:String, asset:Object, type:String):void;</pre>
* * @param onError To be called when creation fails for some reason. Do not call
* * 'onComplete' when that happens. <pre>function(error:String):void</pre>
*
*/
create(reference: AssetReference, helper: AssetFactoryHelper, onComplete: (arg0: string, arg1: any) => void, onError: (arg0: string) => void): void;
/**
* Add one or more mime types that identify the supported data types. Used by
* * 'canHandle' to figure out if the factory is suitable for an asset reference.
*/
addMimeTypes(args: Array<string>): void;
/**
* Add one or more file extensions (without leading dot) that identify the supported data
* * types. Used by 'canHandle' to figure out if the factory is suitable for an asset
* * reference.
*/
addExtensions(args: Array<string>): void;
/**
* Returns the mime types this factory supports.
*/
getMimeTypes(out?: Vector<string>): Vector<string>;
/**
* Returns the file extensions this factory supports.
*/
getExtensions(out?: Vector<string>): Vector<string>;
get priority(): number;
set priority(value: number)
}
}
export default starling.assets.AssetFactory;