public void RemoveCollisionObject(BCollisionObject co) { if (co is BRigidBody) { RemoveRigidBody((RigidBody)co.GetCollisionObject()); return; } if (co is BSoftBody) { RemoveSoftBody((SoftBody)co.GetCollisionObject()); return; } if (!_isDisposed) { if (co is BCharacterController && world is DynamicsWorld) { RemoveAction(((BCharacterController)co).GetKinematicCharacterController()); } m_world.RemoveCollisionObject(co.GetCollisionObject()); co.isInWorld = false; } }