Trait bevy::asset::saver::AssetSaver

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

    // Required method
    fn save<'a>(
        &'a self,
        writer: &'a mut (dyn AsyncWrite + Unpin + Sync + Send + 'static),
        asset: SavedAsset<'a, Self::Asset>,
        settings: &'a Self::Settings
    ) -> impl ConditionalSendFuture;
}
Expand description

Saves an Asset of a given AssetSaver::Asset type. AssetSaver::OutputLoader will then be used to load the saved asset in the final deployed application. The saver should produce asset bytes in a format that AssetSaver::OutputLoader can read.

Required Associated Types§

type Asset: Asset

The top level Asset saved by this AssetSaver.

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

The settings type used by this AssetSaver.

type OutputLoader: AssetLoader

The type of AssetLoader used to load this Asset

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

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

Required Methods§

fn save<'a>( &'a self, writer: &'a mut (dyn AsyncWrite + Unpin + Sync + Send + 'static), asset: SavedAsset<'a, Self::Asset>, settings: &'a Self::Settings ) -> impl ConditionalSendFuture

Saves the given runtime Asset by writing it to a byte format using writer. The passed in settings can influence how the asset is saved.

Object Safety§

This trait is not object safe.

Implementors§