bevy_asset

Trait ErasedAssetLoader

Source
pub trait ErasedAssetLoader:
    Send
    + Sync
    + 'static {
    // Required methods
    fn load<'a>(
        &'a self,
        reader: &'a mut dyn Reader,
        meta: Box<dyn AssetMetaDyn>,
        load_context: LoadContext<'a>,
    ) -> BoxedFuture<'a, Result<ErasedLoadedAsset, Box<dyn Error + Send + Sync + 'static>>>;
    fn extensions(&self) -> &[&str];
    fn deserialize_meta(
        &self,
        meta: &[u8],
    ) -> Result<Box<dyn AssetMetaDyn>, DeserializeMetaError>;
    fn default_meta(&self) -> Box<dyn AssetMetaDyn>;
    fn type_name(&self) -> &'static str;
    fn type_id(&self) -> TypeId;
    fn asset_type_name(&self) -> &'static str;
    fn asset_type_id(&self) -> TypeId;
}
Expand description

Provides type-erased access to an AssetLoader.

Required Methods§

Source

fn load<'a>( &'a self, reader: &'a mut dyn Reader, meta: Box<dyn AssetMetaDyn>, load_context: LoadContext<'a>, ) -> BoxedFuture<'a, Result<ErasedLoadedAsset, Box<dyn Error + Send + Sync + 'static>>>

Asynchronously loads the asset(s) from the bytes provided by Reader.

Source

fn extensions(&self) -> &[&str]

Returns a list of extensions supported by this asset loader, without the preceding dot.

Source

fn deserialize_meta( &self, meta: &[u8], ) -> Result<Box<dyn AssetMetaDyn>, DeserializeMetaError>

Deserializes metadata from the input meta bytes into the appropriate type (erased as Box<dyn AssetMetaDyn>).

Source

fn default_meta(&self) -> Box<dyn AssetMetaDyn>

Returns the default meta value for the AssetLoader (erased as Box<dyn AssetMetaDyn>).

Source

fn type_name(&self) -> &'static str

Returns the type name of the AssetLoader.

Source

fn type_id(&self) -> TypeId

Returns the TypeId of the AssetLoader.

Source

fn asset_type_name(&self) -> &'static str

Returns the type name of the top-level Asset loaded by the AssetLoader.

Source

fn asset_type_id(&self) -> TypeId

Returns the TypeId of the top-level Asset loaded by the AssetLoader.

Implementors§

Source§

impl<L> ErasedAssetLoader for L
where L: AssetLoader + Send + Sync,