Update the Children
component of the parent entity when a scene gets deleted
#12710
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
SceneBundle
orDynamicSceneBundle
. This means that the scene's entities get added as children of the root entity (the entity on which theSceneBundle
gets added)SceneSpawner
, the scene's entities are deleted, but theChildren
component of the root entity doesn't get updated. This means that the hierarchy becomes unsound, with Children linking to non-existing components.Solution
despawn_sync
logic to also update theChildren
from any parents of the scene, if there are anymain
but works here.Alternative implementations
parent: Option<Entity>
on the InstanceInfo struct that tracks if the SceneInstance was added as a child of a root entity