You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Split `View` into `View` and `ViewMut`. Note that creating a `View` still requires mutable access to the
3
-
archetype/world, but can be useful for passing around read-only access to a given entity.
4
-
- The `iter`/`iter_mut` functions on archetypes now return a `View`/`ViewMut` with named component fields rather than
5
-
anonymous tuples, making element access less sensitive to component order changes. This also makes iteration more
6
-
compatible with the `ArchetypeHas` trait, as that can be used to generically access components from views.
2
+
- Split `View` into `View` and `ViewMut`. Note that creating a `View` still requires mutable access to the archetype/world, but can be useful for passing around read-only access to a given entity.
3
+
- The `iter`/`iter_mut` functions on archetypes now return a `View`/`ViewMut` with named component fields rather than anonymous tuples, making element access less sensitive to component order changes. This also makes iteration more compatible with the `ArchetypeHas` trait, as that can be used to generically access components from views.
4
+
- Adding `SelectView`, `SelectViewMut`, and `SelectBorrow` for resolving views/borrows from `EntityAny` and `EntityDirectAny`. Also adding support for `EntityAny` and `EntityDirectAny` to `World::view`, `World::view_mut`, and `World::borrow`. This has a breaking change to generics using `WorldHas<A>` to access views -- the `World::view` function no longer takes an archetype as a generic argument. In generics, instead of using `World::view::<A>(entity)`, use `World::archetype[_mut]::<A>().view(entity)`. The same applies to `view_mut` and `borrow` calls.
0 commit comments