Add note on AssetServer::load not being wasteful

This commit is contained in:
Alice Cecile 2024-09-05 09:55:06 -04:00
parent a4b51d71f1
commit 480c2bcb56
2 changed files with 6 additions and 1 deletions

View file

@ -18,7 +18,9 @@
//! //!
//! The [`AssetServer`] is the main entry point for loading assets. //! The [`AssetServer`] is the main entry point for loading assets.
//! Typically, you'll use the [`AssetServer::load`] method to load an asset from disk, which returns a [`Handle`]. //! Typically, you'll use the [`AssetServer::load`] method to load an asset from disk, which returns a [`Handle`].
//! This handle will be used to instantiate various [`Component`](bevy_ecs::prelude::Component)s that require asset data to function, //! Note that this method does not attempt to reload the asset if it has already been loaded: as long as the asset hasn't been dropped,
//! calling [`AssetServer::load`] on the same path will return the same handle.
//! The handle that's returned will be used to instantiate various [`Component`](bevy_ecs::prelude::Component)s that require asset data to function,
//! which will then be spawned into the world as part of an entity. //! which will then be spawned into the world as part of an entity.
//! //!
//! If we later want to manipulate this asset data (such as for displaying a death animation), we have three options: //! If we later want to manipulate this asset data (such as for displaying a death animation), we have three options:

View file

@ -266,6 +266,9 @@ impl AssetServer {
/// it returns a "strong" [`Handle`]. When the [`Asset`] is loaded (and enters [`LoadState::Loaded`]), it will be added to the /// it returns a "strong" [`Handle`]. When the [`Asset`] is loaded (and enters [`LoadState::Loaded`]), it will be added to the
/// associated [`Assets`] resource. /// associated [`Assets`] resource.
/// ///
/// Note that if the asset at this path is already loaded, this function will return the existing handle,
/// and will not waste work spawning a new load task.
///
/// In case the file path contains a hashtag (`#`), the `path` must be specified using [`Path`] /// In case the file path contains a hashtag (`#`), the `path` must be specified using [`Path`]
/// or [`AssetPath`] because otherwise the hashtag would be interpreted as separator between /// or [`AssetPath`] because otherwise the hashtag would be interpreted as separator between
/// the file path and the label. For example: /// the file path and the label. For example: