pub struct AssetServer { /* private fields */ }Expand description
Asset server struct
Implementations§
Source§impl AssetServer
impl AssetServer
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new instance of AssetServer
Sourcepub fn with_root(root: impl Into<PathBuf>) -> Self
pub fn with_root(root: impl Into<PathBuf>) -> Self
Create an AssetServer that can load assets from the filesystem
Examples found in repository?
examples/assets.rs (line 31)
30fn main() {
31 let mut asset_server = AssetServer::with_root("assets");
32 asset_server.register_loader::<Texture>(Box::new(TextureLoader));
33 asset_server.register_loader::<Audio>(Box::new(AudioLoader));
34 asset_server.load::<Texture>("example.png").unwrap();
35 asset_server.load::<Audio>("music.ogg").unwrap();
36 println!("{asset_server:#?}");
37
38 let audio = asset_server.get_named::<Audio>("music").unwrap();
39 println!("{:?}", audio.read().0);
40 audio.write().0 = 1.0;
41 println!("{:?}", audio.read().0);
42}Sourcepub fn register_asset_type<A: Asset>(&mut self)
pub fn register_asset_type<A: Asset>(&mut self)
Register an asset type without registering a loader
Useful for internal/generated assets
Sourcepub fn register_loader<A: Asset>(&mut self, loader: Box<dyn ErasedAssetLoader>)
pub fn register_loader<A: Asset>(&mut self, loader: Box<dyn ErasedAssetLoader>)
Register an asset loader
Examples found in repository?
examples/assets.rs (line 32)
30fn main() {
31 let mut asset_server = AssetServer::with_root("assets");
32 asset_server.register_loader::<Texture>(Box::new(TextureLoader));
33 asset_server.register_loader::<Audio>(Box::new(AudioLoader));
34 asset_server.load::<Texture>("example.png").unwrap();
35 asset_server.load::<Audio>("music.ogg").unwrap();
36 println!("{asset_server:#?}");
37
38 let audio = asset_server.get_named::<Audio>("music").unwrap();
39 println!("{:?}", audio.read().0);
40 audio.write().0 = 1.0;
41 println!("{:?}", audio.read().0);
42}Sourcepub fn load_reader<A: Asset>(
&mut self,
name: &str,
reader: &mut dyn Read,
) -> ResourceResult<Handle<A>>
pub fn load_reader<A: Asset>( &mut self, name: &str, reader: &mut dyn Read, ) -> ResourceResult<Handle<A>>
Load asset into cache from a reader
§Warning
Assets loaded with this function won’t be hot-reloadable
Sourcepub fn insert<A: Asset>(&mut self, asset: A) -> ResourceResult<Handle<A>>
pub fn insert<A: Asset>(&mut self, asset: A) -> ResourceResult<Handle<A>>
Insert an internal/generated asset into the cache
Sourcepub fn insert_named<A: Asset>(
&mut self,
name: impl Into<String>,
asset: A,
) -> ResourceResult<Handle<A>>
pub fn insert_named<A: Asset>( &mut self, name: impl Into<String>, asset: A, ) -> ResourceResult<Handle<A>>
Insert an internal/generated asset with a name alias
Sourcepub fn load<A: Asset>(
&mut self,
path: impl Into<PathBuf>,
) -> ResourceResult<Handle<A>>
pub fn load<A: Asset>( &mut self, path: impl Into<PathBuf>, ) -> ResourceResult<Handle<A>>
Load asset into cache from file
The extension will be stripped and the asset inserted under that name.
For example, music.ogg is inserted as music
Examples found in repository?
examples/assets.rs (line 34)
30fn main() {
31 let mut asset_server = AssetServer::with_root("assets");
32 asset_server.register_loader::<Texture>(Box::new(TextureLoader));
33 asset_server.register_loader::<Audio>(Box::new(AudioLoader));
34 asset_server.load::<Texture>("example.png").unwrap();
35 asset_server.load::<Audio>("music.ogg").unwrap();
36 println!("{asset_server:#?}");
37
38 let audio = asset_server.get_named::<Audio>("music").unwrap();
39 println!("{:?}", audio.read().0);
40 audio.write().0 = 1.0;
41 println!("{:?}", audio.read().0);
42}Sourcepub fn get<A: Asset>(&self, id: AssetId<A>) -> Option<Handle<A>>
pub fn get<A: Asset>(&self, id: AssetId<A>) -> Option<Handle<A>>
Get asset handle from server by ID
Sourcepub fn get_named<A: Asset>(&self, name: &str) -> Option<Handle<A>>
pub fn get_named<A: Asset>(&self, name: &str) -> Option<Handle<A>>
Get asset handle from server by name
Examples found in repository?
examples/assets.rs (line 38)
30fn main() {
31 let mut asset_server = AssetServer::with_root("assets");
32 asset_server.register_loader::<Texture>(Box::new(TextureLoader));
33 asset_server.register_loader::<Audio>(Box::new(AudioLoader));
34 asset_server.load::<Texture>("example.png").unwrap();
35 asset_server.load::<Audio>("music.ogg").unwrap();
36 println!("{asset_server:#?}");
37
38 let audio = asset_server.get_named::<Audio>("music").unwrap();
39 println!("{:?}", audio.read().0);
40 audio.write().0 = 1.0;
41 println!("{:?}", audio.read().0);
42}Sourcepub fn reload<A: Asset>(&mut self, id: AssetId<A>) -> ResourceResult<()>
pub fn reload<A: Asset>(&mut self, id: AssetId<A>) -> ResourceResult<()>
Hot-reload an asset by ID
Sourcepub fn reload_named<A: Asset>(&mut self, name: &str) -> ResourceResult<()>
pub fn reload_named<A: Asset>(&mut self, name: &str) -> ResourceResult<()>
Hot-reload an asset by name
Trait Implementations§
Source§impl Debug for AssetServer
impl Debug for AssetServer
Source§impl Default for AssetServer
impl Default for AssetServer
Source§fn default() -> AssetServer
fn default() -> AssetServer
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for AssetServer
impl !RefUnwindSafe for AssetServer
impl Send for AssetServer
impl Sync for AssetServer
impl Unpin for AssetServer
impl UnsafeUnpin for AssetServer
impl !UnwindSafe for AssetServer
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
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> TryDefault for Twhere
T: Default,
impl<T> TryDefault for Twhere
T: Default,
Source§fn try_default() -> Result<T, String>
fn try_default() -> Result<T, String>
Tries to create the default.
Source§fn unwrap_default() -> Self
fn unwrap_default() -> Self
Calls
try_default and panics on an error case.