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§

source

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

Registers the given loader in the App’s AssetServer.

source

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

Registers the given processor in the App’s AssetProcessor.

source

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.

source

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

Sets the default asset processor for the given extension.

source

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

Initializes the given loader in the App’s AssetServer.

source

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.
source

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.

source

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§