Trait bevy::asset::transformer::AssetTransformer

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

    // Required method
    fn transform<'a>(
        &'a self,
        asset: TransformedAsset<Self::AssetInput>,
        settings: &'a Self::Settings
    ) -> impl ConditionalSendFuture;
}
Expand description

Transforms an Asset of a given AssetTransformer::AssetInput type to an Asset of AssetTransformer::AssetOutput type.

Required Associated Types§

type AssetInput: Asset

The Asset type which this AssetTransformer takes as and input.

type AssetOutput: Asset

The Asset type which this AssetTransformer outputs.

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

The settings type used by this AssetTransformer.

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

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

Required Methods§

fn transform<'a>( &'a self, asset: TransformedAsset<Self::AssetInput>, settings: &'a Self::Settings ) -> impl ConditionalSendFuture

Transforms the given TransformedAsset to AssetTransformer::AssetOutput. The TransformedAsset’s labeled_assets can be altered to add new Labeled Sub-Assets The passed in settings can influence how the asset is transformed

Object Safety§

This trait is not object safe.

Implementors§