Added an init_bundle
method to World
#12573
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Objective
Make it easy to get the ids of all the components in a bundle (and initialise any components not yet initialised). This is fairly similar to the
Bundle::get_component_ids()
method added in the observers PR however that will return none for any non-initialised components. This is exactly the API space covered byBundle::component_ids()
however that isn't possible to call outside ofbevy_ecs
as it requires&mut Components
and&mut Storages
.Solution
Added
World.init_bundle<B: Bundle>()
which similarly toinit_component
andinit_resource
, initialises all components in the bundle and returns a vector of their component ids.Changelog
Added the method
init_bundle
toWorld
as a counterpart toinit_component
andinit_resource
.