bevy/crates/bevy_asset/src
Ricky Taylor 26df1c1179
Add more load_direct implementations (#13415)
# Objective
- Introduce variants of `LoadContext::load_direct` which allow picking
asset type & configuring settings.
- Fixes #12963.

## Solution
- Implements `ErasedLoadedAsset::downcast` and adds some accessors to
`LoadedAsset<A>`.
- Changes `load_direct`/`load_direct_with_reader` to be typed, and
introduces `load_direct_untyped`/`load_direct_untyped_with_reader`.
- Introduces `load_direct_with_settings` and
`load_direct_with_reader_and_settings`.

## Testing
- I've run cargo test and played with the examples which use
`load_direct`.
- I also extended the `asset_processing` example to use the new typed
version of `load_direct` and use `load_direct_with_settings`.

---

## Changelog
- Introduced new `load_direct` methods in `LoadContext` to allow
specifying type & settings

## Migration Guide
- `LoadContext::load_direct` has been renamed to
`LoadContext::load_direct_untyped`. You may find the new `load_direct`
is more appropriate for your use case (and the migration may only be
moving one type parameter).
- `LoadContext::load_direct_with_reader` has been renamed to
`LoadContext::load_direct_untyped_with_reader`.

---

This might not be an obvious win as a solution because it introduces
quite a few new `load_direct` alternatives - but it does follow the
existing pattern pretty well. I'm very open to alternatives.
😅
2024-05-21 18:32:00 +00:00
..
io Misc asset code quality and docs (#13382) 2024-05-15 18:49:04 +00:00
processor Misc asset code quality and docs (#13382) 2024-05-15 18:49:04 +00:00
server Instrument asset loading and processing. (#12988) 2024-04-16 12:02:11 +00:00
assets.rs Fix beta lints (#12980) 2024-04-16 02:46:46 +00:00
direct_access_ext.rs Add methods to directly load assets from World (#12023) 2024-02-27 00:28:26 +00:00
event.rs Added AssetLoadFailedEvent, UntypedAssetLoadFailedEvent (#11369) 2024-01-17 21:12:00 +00:00
folder.rs Bevy Asset V2 (#8624) 2023-09-07 02:07:27 +00:00
handle.rs Allow converting mutable handle borrows to AssetId. (#12759) 2024-03-28 15:53:26 +00:00
id.rs Implement the AnimationGraph, allowing for multiple animations to be blended together. (#11989) 2024-03-07 20:22:42 +00:00
lib.rs Add more load_direct implementations (#13415) 2024-05-21 18:32:00 +00:00
loader.rs Add more load_direct implementations (#13415) 2024-05-21 18:32:00 +00:00
meta.rs Add more load_direct implementations (#13415) 2024-05-21 18:32:00 +00:00
path.rs Ignore query parameters in AssetPaths when determining the extension (#12828) 2024-04-03 18:57:03 +00:00
reflect.rs Refactor App and SubApp internals for better separation (#9202) 2024-03-31 03:16:10 +00:00
saver.rs Use async-fn in traits rather than BoxedFuture (#12550) 2024-03-18 17:56:57 +00:00
transformer.rs Use async-fn in traits rather than BoxedFuture (#12550) 2024-03-18 17:56:57 +00:00