Trait bevy::asset::AssetLoader

pub trait AssetLoader: Send + Sync + 'static {
    type Asset: Asset;
    type Settings: Settings + Default + Serialize + for<'a> Deserialize<'a>;
    type Error: Into<Box<dyn Error + Send + Sync>>;

    // Required methods
    fn load<'a>(
        &'a self,
        reader: &'a mut (dyn AsyncRead + Send + Sync + Unpin + '_),
        settings: &'a Self::Settings,
        load_context: &'a mut LoadContext<'_>
    ) -> Pin<Box<dyn Future<Output = Result<Self::Asset, Self::Error>> + Send + 'a>>;
    fn extensions(&self) -> &[&str];
}
Expand description

Loads an Asset from a given byte Reader. This can accept AssetLoader::Settings, which configure how the Asset should be loaded.

Required Associated Types§

type Asset: Asset

The top level Asset loaded by this AssetLoader.

type Settings: Settings + Default + Serialize + for<'a> Deserialize<'a>

The settings type used by this AssetLoader.

type Error: Into<Box<dyn Error + Send + Sync>>

The type of error which could be encountered by this loader.

Required Methods§

fn load<'a>( &'a self, reader: &'a mut (dyn AsyncRead + Send + Sync + Unpin + '_), settings: &'a Self::Settings, load_context: &'a mut LoadContext<'_> ) -> Pin<Box<dyn Future<Output = Result<Self::Asset, Self::Error>> + Send + 'a>>

Asynchronously loads AssetLoader::Asset (and any other labeled assets) from the bytes provided by Reader.

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

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

Implementations on Foreign Types§

§

impl AssetLoader for ()

The () loader should never be called. This implementation exists to make the meta format nicer to work with.

§

type Asset = ()

§

type Settings = ()

§

type Error = Error

§

fn load<'a>( &'a self, _reader: &'a mut (dyn AsyncRead + Send + Sync + Unpin + '_), _settings: &'a <() as AssetLoader>::Settings, _load_context: &'a mut LoadContext<'_> ) -> Pin<Box<dyn Future<Output = Result<<() as AssetLoader>::Asset, <() as AssetLoader>::Error>> + Send + 'a>>

§

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

Implementors§