Trait bevy::asset::AssetApp

pub trait AssetApp {
    // Required methods
    fn register_asset_loader<L>(&mut self, loader: L) -> &mut Self
       where L: AssetLoader;
    fn register_asset_processor<P>(&mut self, processor: P) -> &mut Self
       where P: Process;
    fn register_asset_source(
        &mut self,
        id: impl Into<AssetSourceId<'static>>,
        source: AssetSourceBuilder,
    ) -> &mut Self;
    fn set_default_asset_processor<P>(&mut self, extension: &str) -> &mut Self
       where P: Process;
    fn init_asset_loader<L>(&mut self) -> &mut Self
       where L: AssetLoader + FromWorld;
    fn init_asset<A>(&mut self) -> &mut Self
       where A: Asset;
    fn register_asset_reflect<A>(&mut self) -> &mut Self
       where A: Asset + Reflect + FromReflect + GetTypeRegistration;
    fn preregister_asset_loader<L>(&mut self, extensions: &[&str]) -> &mut Self
       where L: AssetLoader;
}
Expand description

Adds asset-related builder methods to App.

Required Methods§

fn register_asset_loader<L>(&mut self, loader: L) -> &mut Self
where L: AssetLoader,

Registers the given loader in the App’s AssetServer.

fn register_asset_processor<P>(&mut self, processor: P) -> &mut Self
where P: Process,

Registers the given processor in the App’s AssetProcessor.

fn register_asset_source( &mut self, id: impl Into<AssetSourceId<'static>>, source: AssetSourceBuilder, ) -> &mut Self

Registers the given AssetSourceBuilder with the given id.

Note that asset sources must be registered before adding AssetPlugin to your application, since registered asset sources are built at that point and not after.

fn set_default_asset_processor<P>(&mut self, extension: &str) -> &mut Self
where P: Process,

Sets the default asset processor for the given extension.

fn init_asset_loader<L>(&mut self) -> &mut Self

Initializes the given loader in the App’s AssetServer.

fn init_asset<A>(&mut self) -> &mut Self
where A: Asset,

Initializes the given Asset in the App by:

  • Registering the Asset in the AssetServer
  • Initializing the AssetEvent resource for the Asset
  • Adding other relevant systems and resources for the Asset
  • Ignoring schedule ambiguities in Assets resource. Any time a system takes mutable access to this resource this causes a conflict, but they rarely actually modify the same underlying asset.

fn register_asset_reflect<A>(&mut self) -> &mut Self

Registers the asset type T using [App::register], and adds ReflectAsset type data to T and ReflectHandle type data to Handle<T> in the type registry.

This enables reflection code to access assets. For detailed information, see the docs on ReflectAsset and ReflectHandle.

fn preregister_asset_loader<L>(&mut self, extensions: &[&str]) -> &mut Self
where L: AssetLoader,

Preregisters a loader for the given extensions, that will block asset loads until a real loader is registered.

Object Safety§

This trait is not object safe.

Implementors§

§

impl AssetApp for App