An AssetFactory is responsible for creating a concrete instance of an asset.

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.

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.

### Hierarchy

- AssetFactory
  - AtfTextureFactory
  - BitmapTextureFactory
  - ByteArrayFactory
  - JsonFactory
  - SoundFactory
  - XmlFactory

## Index

### Constructors

- constructor

### Properties

- priority

### Methods

- addExtensions
- addMimeTypes
- canHandle
- create
- getExtensions
- getMimeTypes
- get_priority
- set_priority

## Constructors

### constructor

- new AssetFactory(): AssetFactory

- - Defined in lib/starling/assets/AssetFactory.d.ts:29

  Creates a new instance.

  #### Returns AssetFactory

## Properties

### priority

priority: number

- Defined in lib/starling/assets/AssetFactory.d.ts:68

## Methods

### addExtensions

- addExtensions(args: Array<string>): void

- - Defined in lib/starling/assets/AssetFactory.d.ts:60

  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.

  #### Parameters

  - ##### args: Array<string>

  #### Returns void

### addMimeTypes

- addMimeTypes(args: Array<string>): void

- - Defined in lib/starling/assets/AssetFactory.d.ts:55

  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.

  #### Parameters

  - ##### args: Array<string>

  #### Returns void

### canHandle

- canHandle(reference: AssetReference): boolean

- - Defined in lib/starling/assets/AssetFactory.d.ts:36

  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.

  #### Parameters

  - ##### reference: AssetReference

  #### Returns boolean

### create

- create(reference: AssetReference, helper: AssetFactoryHelper, onComplete: function, onError: function): void

- - Defined in lib/starling/assets/AssetFactory.d.ts:50

  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 with the name and asset as parameters when loading is successful.

      function(name:string, asset:Object):void;

  @param onError To be called when creation fails for some reason. Do not call 'onComplete' when that happens.

      function(error:string):void

  #### Parameters

  - ##### reference: AssetReference

  - ##### helper: AssetFactoryHelper

  - ##### onComplete: function

    - - (string: any, any: any): void

      - #### Parameters

        - ##### string: any

        - ##### any: any

        #### Returns void

  - ##### onError: function

    - - (string: any): void

      - #### Parameters

        - ##### string: any

        #### Returns void

### getExtensions

- getExtensions(out?: Vector<string>): Vector<string>

- - Defined in lib/starling/assets/AssetFactory.d.ts:66

  Returns the file extensions this factory supports.

  #### Parameters

  - ##### Optional out: Vector<string>

  #### Returns Vector<string>

### getMimeTypes

- getMimeTypes(out?: Vector<string>): Vector<string>

- - Defined in lib/starling/assets/AssetFactory.d.ts:63

  Returns the mime types this factory supports.

  #### Parameters

  - ##### Optional out: Vector<string>

  #### Returns Vector<string>

### Protected get_priority

- get_priority(): number

- - Defined in lib/starling/assets/AssetFactory.d.ts:69

  #### Returns number

### Protected set_priority

- set_priority(value: number): number

- - Defined in lib/starling/assets/AssetFactory.d.ts:70

  #### Parameters

  - ##### value: number

  #### Returns number

Generated using TypeDoc