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.
Description
This PR generifies collision mesh creation. Rather than needing to create a separate system for each type of
Body
with a new instance ofCollisionMeshLoader
, the newCollisionMeshBuilderSystem
handles allBody
creation.The
BodyLinked
component has two new fields - one for the JSON path to the mesh data, and another for the schema file that details how the data is laid out. When an entity has aBodyLinked
component, the system will build aBody
using the mesh data when it receives aGenerateBodyEvent
(which will happen at the next tick).Testing
Shoot the testing asteroid (the golden asteroid visible on startup). The projectile should still collide with it, so the asteroid should be destroyed. Then try flying into the rubble. The ship should not pass through the rubble.