Struct bevy_asset::NestedLoader
source · pub struct NestedLoader<'ctx, 'builder> { /* private fields */ }
Expand description
A builder for loading nested assets inside a LoadContext
.
§Lifetimes
ctx
: the lifetime of the associated [AssetServer
] referencebuilder
: the lifetime of the temporary builder structs
Implementations§
source§impl<'ctx, 'builder> NestedLoader<'ctx, 'builder>
impl<'ctx, 'builder> NestedLoader<'ctx, 'builder>
sourcepub fn with_settings<S: Settings>(
self,
settings: impl Fn(&mut S) + Send + Sync + 'static
) -> Self
pub fn with_settings<S: Settings>( self, settings: impl Fn(&mut S) + Send + Sync + 'static ) -> Self
Configure the settings used to load the asset.
If the settings type S
does not match the settings expected by A
’s asset loader, an error will be printed to the log
and the asset load will fail.
sourcepub fn with_asset_type<A: Asset>(self) -> Self
pub fn with_asset_type<A: Asset>(self) -> Self
Specify the output asset type.
sourcepub fn with_asset_type_id(self, asset_type_id: TypeId) -> Self
pub fn with_asset_type_id(self, asset_type_id: TypeId) -> Self
Specify the output asset type.
sourcepub fn direct<'c>(self) -> DirectNestedLoader<'ctx, 'builder, 'c>
pub fn direct<'c>(self) -> DirectNestedLoader<'ctx, 'builder, 'c>
Load assets directly, rather than creating handles.
sourcepub fn untyped(self) -> UntypedNestedLoader<'ctx, 'builder>
pub fn untyped(self) -> UntypedNestedLoader<'ctx, 'builder>
Load assets without static type information.
If you need to specify the type of asset, but cannot do it statically,
use .with_asset_type_id()
.
sourcepub fn load<'c, A: Asset>(self, path: impl Into<AssetPath<'c>>) -> Handle<A>
pub fn load<'c, A: Asset>(self, path: impl Into<AssetPath<'c>>) -> Handle<A>
Retrieves a handle for the asset at the given path and adds that path as a dependency of the asset.
If the current context is a normal [AssetServer::load
], an actual asset load will be kicked off immediately, which ensures the load happens
as soon as possible.
“Normal loads” kicked from within a normal Bevy App will generally configure the context to kick off loads immediately.
If the current context is configured to not load dependencies automatically (ex: AssetProcessor
),
a load will not be kicked off automatically. It is then the calling context’s responsibility to begin a load if necessary.
Auto Trait Implementations§
impl<'ctx, 'builder> Freeze for NestedLoader<'ctx, 'builder>
impl<'ctx, 'builder> !RefUnwindSafe for NestedLoader<'ctx, 'builder>
impl<'ctx, 'builder> Send for NestedLoader<'ctx, 'builder>
impl<'ctx, 'builder> Sync for NestedLoader<'ctx, 'builder>
impl<'ctx, 'builder> Unpin for NestedLoader<'ctx, 'builder>
impl<'ctx, 'builder> !UnwindSafe for NestedLoader<'ctx, 'builder>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.