Migrating from 0.19 to 0.19
Observer overhaul
TransitionListener has been deleted, use observers instead:
> app.add_observer(
> |trigger: On<LoadingCompleted>| println!("do stuff"),
> );
< active_machines.push_listener::<ReloadingInitialized<P>>(OnLoadingCompleteListener);
This allows you to use more convenient system parameter syntax to access resources and queries, but you may not use exclusive systems anymore.
If you want observers to respect ordering between themselves, you should prefer to issue commands in these instead (see related bevy issue).
Renaming Reflection Rroxies
Val<T>, Ref<T> and Mut<T> have been renamed to prevent clashes with native bevy types, as well as save a few keystrokes.
You should use: V<T>, R<T> and M<T> instead
> V<T>
< Val<T>
> R<T>
< Ref<T>
> M<T>
< Mut<T>
ScriptValue::List changes
This variant now uses VecDeque instead of Vec
Refactor of WorldAccessGuard and related types
Many functions previously living directly in WorldAccessGuard impls, now need to be accessed via the WorldExtensions trait.
Functions previously known as with_exclusive_access etc, have been split into: with_world and with_world_mut, allowing read access to the world too in some circumstances.
ReflectAccessId was removed in favour of WorldAccessRange which can be created via Into from ComponentId’s.