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§
sourcefn register_asset_loader<L>(&mut self, loader: L) -> &mut Selfwhere
L: AssetLoader,
fn register_asset_loader<L>(&mut self, loader: L) -> &mut Selfwhere
L: AssetLoader,
Registers the given loader in the App’s AssetServer.
sourcefn register_asset_processor<P>(&mut self, processor: P) -> &mut Selfwhere
P: Process,
fn register_asset_processor<P>(&mut self, processor: P) -> &mut Selfwhere
P: Process,
Registers the given processor in the App’s AssetProcessor.
sourcefn register_asset_source(
&mut self,
id: impl Into<AssetSourceId<'static>>,
source: AssetSourceBuilder
) -> &mut Self
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.
sourcefn set_default_asset_processor<P>(&mut self, extension: &str) -> &mut Selfwhere
P: Process,
fn set_default_asset_processor<P>(&mut self, extension: &str) -> &mut Selfwhere
P: Process,
Sets the default asset processor for the given extension.
sourcefn init_asset_loader<L>(&mut self) -> &mut Selfwhere
L: AssetLoader + FromWorld,
fn init_asset_loader<L>(&mut self) -> &mut Selfwhere
L: AssetLoader + FromWorld,
Initializes the given loader in the App’s AssetServer.
sourcefn init_asset<A>(&mut self) -> &mut Selfwhere
A: Asset,
fn init_asset<A>(&mut self) -> &mut Selfwhere
A: Asset,
Initializes the given Asset in the App by:
- Registering the
Assetin theAssetServer - Initializing the
AssetEventresource for theAsset - Adding other relevant systems and resources for the
Asset - Ignoring schedule ambiguities in
Assetsresource. Any time a system takes mutable access to this resource this causes a conflict, but they rarely actually modify the same underlying asset.
sourcefn register_asset_reflect<A>(&mut self) -> &mut Self
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.
sourcefn preregister_asset_loader<L>(&mut self, extensions: &[&str]) -> &mut Selfwhere
L: AssetLoader,
fn preregister_asset_loader<L>(&mut self, extensions: &[&str]) -> &mut Selfwhere
L: AssetLoader,
Preregisters a loader for the given extensions, that will block asset loads until a real loader is registered.