void ColliderDetector::setColliderFilter(ColliderFilter *filter) { *m_pFilter = *filter; for(auto object : *m_pColliderBodyList) { ColliderBody *colliderBody = (ColliderBody *)object; colliderBody->setColliderFilter(filter); if (colliderBody->getB2Fixture()) { colliderBody->getColliderFilter()->updateB2Shape(colliderBody->getB2Fixture()); } if (colliderBody->getShape()) { colliderBody->getColliderFilter()->updateCPShape(colliderBody->getShape()); } } }
void ColliderDetector::setColliderFilter(ColliderFilter *filter) { *_filter = *filter; for(auto object : *_colliderBodyList) { ColliderBody *colliderBody = (ColliderBody *)object; colliderBody->setColliderFilter(filter); #if ENABLE_PHYSICS_BOX2D_DETECT if (colliderBody->getB2Fixture()) { colliderBody->getColliderFilter()->updateShape(colliderBody->getB2Fixture()); } #elif ENABLE_PHYSICS_CHIPMUNK_DETECT if (colliderBody->getShape()) { colliderBody->getColliderFilter()->updateShape(colliderBody->getShape()); } #endif } }