Struct bevy::asset::Assets [−]
pub struct Assets<T> where
T: Asset, { /* fields omitted */ }
Expand description
Stores Assets of a given type and tracks changes to them.
Each asset is mapped by a unique HandleId, allowing any Handle with the same HandleId to access it. These assets remain loaded for as long as a Strong handle to that asset exists.
To store a reference to an asset without forcing it to stay loaded, you can use a Weak handle. To make a Weak handle a Strong one, use Assets::get_handle or pass the Assets collection into the handle’s make_strong method.
Remember, if there are no Strong handles for an asset (i.e. they have all been dropped), the asset will unload. Make sure you always have a Strong handle when you want to keep an asset loaded!
Implementations
Adds an asset to the collection, returning a Strong handle to that asset.
Events
Add/modify the asset pointed to by the given handle.
Unless there exists another Strong handle for this asset, it’s advised to use the returned Strong handle. Not doing so may result in the unexpected release of the asset.
See set_untracked for more info.
pub fn set_untracked<H>(&mut self, handle: H, asset: T) where
H: Into<HandleId>,
pub fn set_untracked<H>(&mut self, handle: H, asset: T) where
H: Into<HandleId>,
Add/modify the asset pointed to by the given handle.
If an asset already exists with the given HandleId, it will be modified. Otherwise the new asset will be inserted.
Events
AssetEvent::Created
: Sent if the asset did not yet exist with the given handleAssetEvent::Modified
: Sent if the asset with given handle already existed
Checks if an asset exists for the given handle
pub fn get_handle<H>(&self, handle: H) -> Handle<T> where
H: Into<HandleId>,
pub fn get_handle<H>(&self, handle: H) -> Handle<T> where
H: Into<HandleId>,
Gets a Strong handle pointing to the same asset as the given one
pub fn get_or_insert_with<H>(
&mut self,
handle: H,
insert_fn: impl FnOnce() -> T
) -> &mut T where
H: Into<HandleId>,
pub fn get_or_insert_with<H>(
&mut self,
handle: H,
insert_fn: impl FnOnce() -> T
) -> &mut T where
H: Into<HandleId>,
Get mutable access to an asset for the given handle, inserting a new value if none exists.
Events
AssetEvent::Created
: Sent if the asset did not yet exist with the given handle
Get an iterator over all assets in the collection.
Get a mutable iterator over all assets in the collection.
Get an iterator over all HandleIds in the collection.
Remove an asset for the given handle.
The asset is returned if it existed in the collection, otherwise None
.
Events
pub fn clear(&mut self)
pub fn clear(&mut self)
Clears the inner asset map, removing all key-value pairs.
Keeps the allocated memory for reuse.
Reserves capacity for at least additional more elements to be inserted into the assets.
The collection may reserve more space to avoid frequent reallocations.
pub fn shrink_to_fit(&mut self)
pub fn shrink_to_fit(&mut self)
Shrinks the capacity of the asset map as much as possible.
It will drop down as much as possible while maintaining the internal rules and possibly leaving some space in accordance with the resize policy.
pub fn asset_event_system(
events: EventWriter<'_, '_, AssetEvent<T>>,
assets: ResMut<'_, Assets<T>>
)
Trait Implementations
Auto Trait Implementations
impl<T> RefUnwindSafe for Assets<T> where
T: RefUnwindSafe,
impl<T> UnwindSafe for Assets<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert 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
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
pub fn vzip(self) -> V
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more