public override void DestroyObject(BulletWorld pWorld, BulletBody pBody)
{
DiscreteDynamicsWorld world = (pWorld as BulletWorldXNA).world;
CollisionObject co = (pBody as BulletBodyXNA).rigidBody;
RigidBody bo = co as RigidBody;
if (bo == null)
{
if (world.IsInWorld(co))
{
world.RemoveCollisionObject(co);
}
}
else
{
if (world.IsInWorld(bo))
{
world.RemoveRigidBody(bo);
}
}
if (co != null)
{
if (co.GetUserPointer() != null)
{
uint localId = (uint)co.GetUserPointer();
if (specialCollisionObjects.ContainsKey(localId))
{
specialCollisionObjects.Remove(localId);
}
}
}
}