Destroy a component at a given index
| 251 | |
| 252 | // Destroy a component at a given index |
| 253 | void ColliderComponents::destroyComponent(uint32 index) { |
| 254 | |
| 255 | Components::destroyComponent(index); |
| 256 | |
| 257 | assert(mMapEntityToComponentIndex[mCollidersEntities[index]] == index); |
| 258 | |
| 259 | mMapEntityToComponentIndex.remove(mCollidersEntities[index]); |
| 260 | |
| 261 | mCollidersEntities[index].~Entity(); |
| 262 | mBodiesEntities[index].~Entity(); |
| 263 | mColliders[index] = nullptr; |
| 264 | mLocalToBodyTransforms[index].~Transform(); |
| 265 | mCollisionShapes[index] = nullptr; |
| 266 | mLocalToWorldTransforms[index].~Transform(); |
| 267 | mOverlappingPairs[index].~Array<uint64>(); |
| 268 | mMaterials[index].~Material(); |
| 269 | } |