DelayedAsset

class DelayedAsset<Type>(val manager: AssetManager, val assetDescriptor: AssetDescriptor<Type>) : Asset<Type>

Represents an Asset wrapper of resource loaded at demand. The first asset getter call causes the asset to be scheduled for loading and loaded eagerly - the AssetManager is updated until the asset is reported as loaded. Note that eager asset loading might cause other assets to be loaded synchronously rather than asynchronously, so it is advised to load eager assets with another AssetManager instance or use them after all regular assets are already loaded.

Constructors

Link copied to clipboard
constructor(manager: AssetManager, assetDescriptor: AssetDescriptor<Type>)

Properties

Link copied to clipboard
open override val asset: Type

Instance of the wrapped asset. Might not be loaded yet. Calling getter of this property without making sure that the asset is loaded might cause an exception.

Link copied to clipboard

The AssetDescriptor used by AssetManager to identify and load the asset.

Link copied to clipboard

Functions

Link copied to clipboard
open override fun finishLoading()

Forces eager loading of the asset. Note that due to AssetManager implementation, eager asset loading causes all scheduled assets to be loaded synchronously until the desired asset is reported as loaded. It is usually sensible to use a separate AssetManager for eagerly loaded assets or load such assets after all regular assets are already loaded.

Link copied to clipboard
inline operator fun <Type> Asset<Type>.getValue(receiver: Any?, property: KProperty<*>): Type

Extension function that allows Asset instances to be delegates using the "by" keyword.

Link copied to clipboard
open override fun isLoaded(): Boolean
Link copied to clipboard
open override fun load()

Explicitly marks that the asset should be loaded. If this asset is managed by an AssetManager instance, will schedule asset loading.

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open override fun unload()

Attempts to unload the asset. Might throw an exception if the asset is not loaded at all due to AssetManager implementation.