Struct bevy_asset::Assets
source · pub struct Assets<A: Asset> { /* private fields */ }Expand description
Stores Asset values identified by their AssetId.
Assets identified by AssetId::Index will be stored in a “dense” vec-like storage. This is more efficient, but it means that
the assets can only be identified at runtime. This is the default behavior.
Assets identified by AssetId::Uuid will be stored in a hashmap. This is less efficient, but it means that the assets can be referenced
at compile time.
This tracks (and queues) AssetEvent events whenever changes to the collection occur.
Implementations§
source§impl<A: Asset> Assets<A>
impl<A: Asset> Assets<A>
sourcepub fn get_handle_provider(&self) -> AssetHandleProvider
pub fn get_handle_provider(&self) -> AssetHandleProvider
Retrieves an AssetHandleProvider capable of reserving new Handle values for assets that will be stored in this
collection.
sourcepub fn reserve_handle(&self) -> Handle<A>
pub fn reserve_handle(&self) -> Handle<A>
Reserves a new Handle for an asset that will be stored in this collection.
sourcepub fn insert(&mut self, id: impl Into<AssetId<A>>, asset: A)
pub fn insert(&mut self, id: impl Into<AssetId<A>>, asset: A)
Inserts the given asset, identified by the given id. If an asset already exists for id, it will be replaced.
sourcepub fn get_or_insert_with(
&mut self,
id: impl Into<AssetId<A>>,
insert_fn: impl FnOnce() -> A
) -> &mut A
pub fn get_or_insert_with( &mut self, id: impl Into<AssetId<A>>, insert_fn: impl FnOnce() -> A ) -> &mut A
Retrieves an Asset stored for the given id if it exists. If it does not exist, it will be inserted using insert_fn.
sourcepub fn contains(&self, id: impl Into<AssetId<A>>) -> bool
pub fn contains(&self, id: impl Into<AssetId<A>>) -> bool
Returns true if the id exists in this collection. Otherwise it returns false.
sourcepub fn add(&mut self, asset: impl Into<A>) -> Handle<A>
pub fn add(&mut self, asset: impl Into<A>) -> Handle<A>
Adds the given asset and allocates a new strong Handle for it.
sourcepub fn remove_untracked(&mut self, id: impl Into<AssetId<A>>) -> Option<A>
pub fn remove_untracked(&mut self, id: impl Into<AssetId<A>>) -> Option<A>
Removes (and returns) the Asset with the given id, if its exists. This skips emitting AssetEvent::Removed.
Note that this supports anything that implements Into<AssetId<A>>, which includes Handle and AssetId.
sourcepub fn iter_mut(&mut self) -> AssetsMutIterator<'_, A> ⓘ
pub fn iter_mut(&mut self) -> AssetsMutIterator<'_, A> ⓘ
sourcepub fn track_assets(
assets: ResMut<'_, Self>,
asset_server: Res<'_, AssetServer>
)
pub fn track_assets( assets: ResMut<'_, Self>, asset_server: Res<'_, AssetServer> )
A system that synchronizes the state of assets in this collection with the AssetServer. This manages
Handle drop events.
sourcepub fn asset_events(
assets: ResMut<'_, Self>,
events: EventWriter<'_, AssetEvent<A>>
)
pub fn asset_events( assets: ResMut<'_, Self>, events: EventWriter<'_, AssetEvent<A>> )
A system that applies accumulated asset change events to the Events resource.
Trait Implementations§
Auto Trait Implementations§
impl<A> Freeze for Assets<A>
impl<A> RefUnwindSafe for Assets<A>
impl<A> Send for Assets<A>
impl<A> Sync for Assets<A>
impl<A> Unpin for Assets<A>
impl<A> UnwindSafe for Assets<A>
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.source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Self using data from the given World.