bevy/crates
Daniel McNab 1a2aedd165 Implement Bundle for Component. Use Bundle tuples for insertion (#2975)
@BoxyUwU this is your fault. 

Also cart didn't arrive in time to tell us not to do this.

# Objective

- Fix #2974

## Solution

- The first commit just does the actual change
- Follow up commits do steps to prove that this method works to unify as required, but this does not remove `insert_bundle`.

## Changelog

### Changed
Nested bundles now collapse automatically, and every `Component` now implements `Bundle`.
This means that you can combine bundles and components arbitrarily, for example:
```rust
// before:
.insert(A).insert_bundle(MyBBundle{..})
// after:
.insert_bundle((A, MyBBundle {..}))
```

Note that there will be a follow up PR that removes the current `insert` impl and renames `insert_bundle` to `insert`.

### Removed
The `bundle` attribute in `derive(Bundle)`.

## Migration guide

In `derive(Bundle)`, the `bundle` attribute has been removed. Nested bundles are not collapsed automatically. You should remove `#[bundle]` attributes.

Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2022-09-20 20:17:08 +00:00
..
bevy_animation Bump Version after Release (#5576) 2022-08-05 02:03:05 +00:00
bevy_app Remove unused dependency from bevy_app (#5894) 2022-09-06 15:06:18 +00:00
bevy_asset Remove AssetServer::watch_for_changes() (#5968) 2022-09-19 16:36:38 +00:00
bevy_audio Update rodio requirement from 0.15 to 0.16 (#6020) 2022-09-19 13:56:56 +00:00
bevy_core Swap out num_cpus for std:🧵:available_parallelism (#4970) 2022-09-19 15:46:03 +00:00
bevy_core_pipeline Implement IntoIterator for &Extract<P> (#6025) 2022-09-20 00:29:10 +00:00
bevy_derive Bump Version after Release (#5576) 2022-08-05 02:03:05 +00:00
bevy_diagnostic Make Resource trait opt-in, requiring #[derive(Resource)] V2 (#5577) 2022-08-08 21:36:35 +00:00
bevy_dylib Bump Version after Release (#5576) 2022-08-05 02:03:05 +00:00
bevy_dynamic_plugin Bump Version after Release (#5576) 2022-08-05 02:03:05 +00:00
bevy_ecs Implement Bundle for Component. Use Bundle tuples for insertion (#2975) 2022-09-20 20:17:08 +00:00
bevy_ecs_compile_fail_tests Make Resource trait opt-in, requiring #[derive(Resource)] V2 (#5577) 2022-08-08 21:36:35 +00:00
bevy_encase_derive Bump Version after Release (#5576) 2022-08-05 02:03:05 +00:00
bevy_gilrs Bump Version after Release (#5576) 2022-08-05 02:03:05 +00:00
bevy_gltf Add associated constant IDENTITY to Transform and friends. (#5340) 2022-08-30 22:10:24 +00:00
bevy_hierarchy Add warning when a hierarchy component is missing (#5590) 2022-09-19 16:12:11 +00:00
bevy_input Derived Copy trait for bevy_input events, Serialize/Deserialize for events in bevy_input and bevy_windows, PartialEq for events in both, and Eq where possible in both. (#6023) 2022-09-20 18:24:00 +00:00
bevy_internal Derived Copy trait for bevy_input events, Serialize/Deserialize for events in bevy_input and bevy_windows, PartialEq for events in both, and Eq where possible in both. (#6023) 2022-09-20 18:24:00 +00:00
bevy_log Make Resource trait opt-in, requiring #[derive(Resource)] V2 (#5577) 2022-08-08 21:36:35 +00:00
bevy_macro_utils Bump Version after Release (#5576) 2022-08-05 02:03:05 +00:00
bevy_math Expose mint feature in bevy_math/glam (#5857) 2022-09-03 03:02:04 +00:00
bevy_mikktspace Bump Version after Release (#5576) 2022-08-05 02:03:05 +00:00
bevy_pbr Implement IntoIterator for &Extract<P> (#6025) 2022-09-20 00:29:10 +00:00
bevy_ptr Bump Version after Release (#5576) 2022-08-05 02:03:05 +00:00
bevy_reflect bevy_reflect: Improve serialization format even more (#5723) 2022-09-20 19:38:18 +00:00
bevy_render Implement IntoIterator for &Extract<P> (#6025) 2022-09-20 00:29:10 +00:00
bevy_scene bevy_reflect: Improve serialization format even more (#5723) 2022-09-20 19:38:18 +00:00
bevy_sprite Implement IntoIterator for &Extract<P> (#6025) 2022-09-20 00:29:10 +00:00
bevy_tasks Swap out num_cpus for std:🧵:available_parallelism (#4970) 2022-09-19 15:46:03 +00:00
bevy_text Register missing bevy_text types (#6029) 2022-09-19 22:50:35 +00:00
bevy_time Clarify that Stopwatch.reset does not affect paused state (#6016) 2022-09-18 23:36:05 +00:00
bevy_transform Add warning when a hierarchy component is missing (#5590) 2022-09-19 16:12:11 +00:00
bevy_ui Implement IntoIterator for &Extract<P> (#6025) 2022-09-20 00:29:10 +00:00
bevy_utils Remove Sync bound from Local (#5483) 2022-09-12 04:15:55 +00:00
bevy_window Derived Copy trait for bevy_input events, Serialize/Deserialize for events in bevy_input and bevy_windows, PartialEq for events in both, and Eq where possible in both. (#6023) 2022-09-20 18:24:00 +00:00
bevy_winit disable window pre creation for ios (#5883) 2022-09-06 15:06:17 +00:00