Trait bevy_internal::asset::AssetApp
source · 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
Asset
in theAssetServer
- Initializing the
AssetEvent
resource for theAsset
- 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.
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.