Fix scene_spawn within template
#42
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.
Calling
spawn_scenefrom a template like this does not spawn the scene.The call to
world.spawn_sceneends up happening withinspawn_queuedand therefore the insertedScenePatchInstancecomponent never matches theAdded<ScenePatchInstance>filter of the system, and so the scene is never spawned.Instead of the
Addedfilter, this PR adds theNewScenesresource to store newly queued scene spawns. It is populated via anOn<Add, ScenePatchInstance>observer.Then, within
spawn_queuedwe also loop until no more new scenes are produced by the calls toscene.spawnto avoid delaying 'nested' scene spawns until the next frame, or even laterAnd I could not resist changing the event reading portion to use let chains :)