From dad379cdca45c31a9b6888f58e6950222aa6842a Mon Sep 17 00:00:00 2001 From: Kanabenki Date: Sun, 28 Jan 2024 21:15:14 +0100 Subject: [PATCH] Add a getter for asset watching status on `AssetServer` (#11578) # Objective - Closes #11490. - Allow retrieving the current asset watch behavior from the `AssetServer`. ## Solution - Add the corresponding getter. (also fixes some trailing whitespace). A corresponding helper could also be added on the `AssetPlugin` struct (returning `self.watch_for_changes_override.unwrap_or(cfg!(feature = "watch"))`), but it seems it isn't a current practice to have actual methods on the plugin structs appart from the `Plugin` impl. --- ## Changelog ### Added Added `watching_for_changes` getter on `AssetServer`. --------- Co-authored-by: Mateusz Wachowiak --- crates/bevy_asset/src/server/mod.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/crates/bevy_asset/src/server/mod.rs b/crates/bevy_asset/src/server/mod.rs index 457f5c3940d8f..f84f7d1e707de 100644 --- a/crates/bevy_asset/src/server/mod.rs +++ b/crates/bevy_asset/src/server/mod.rs @@ -34,7 +34,7 @@ use thiserror::Error; /// The general process to load an asset is: /// 1. Initialize a new [`Asset`] type with the [`AssetServer`] via [`AssetApp::init_asset`], which will internally call [`AssetServer::register_asset`] /// and set up related ECS [`Assets`] storage and systems. -/// 2. Register one or more [`AssetLoader`]s for that asset with [`AssetApp::init_asset_loader`] +/// 2. Register one or more [`AssetLoader`]s for that asset with [`AssetApp::init_asset_loader`] /// 3. Add the asset to your asset folder (defaults to `assets`). /// 4. Call [`AssetServer::load`] with a path to your asset. /// @@ -128,6 +128,11 @@ impl AssetServer { self.data.sources.get(source.into()) } + /// Returns true if the [`AssetServer`] watches for changes. + pub fn watching_for_changes(&self) -> bool { + self.data.infos.read().watching_for_changes + } + /// Registers a new [`AssetLoader`]. [`AssetLoader`]s must be registered before they can be used. pub fn register_loader(&self, loader: L) { let mut loaders = self.data.loaders.write(); @@ -1114,7 +1119,7 @@ enum MaybeAssetLoader { }, } -/// Internal events for asset load results +/// Internal events for asset load results #[allow(clippy::large_enum_variant)] pub(crate) enum InternalAssetEvent { Loaded {