void cpSpaceDestroy(cpSpace *space) { cpSpaceHashFree(space->staticShapes); cpSpaceHashFree(space->activeShapes); cpArrayFree(space->bodies); cpArrayFree(space->constraints); cpHashSetFree(space->contactSet); cpArrayFree(space->arbiters); cpArrayFree(space->pooledArbiters); if(space->allocatedBuffers){ cpArrayEach(space->allocatedBuffers, freeWrap, NULL); cpArrayFree(space->allocatedBuffers); } if(space->postStepCallbacks){ cpHashSetEach(space->postStepCallbacks, freeWrap, NULL); cpHashSetFree(space->postStepCallbacks); } if(space->collFuncSet){ cpHashSetEach(space->collFuncSet, freeWrap, NULL); cpHashSetFree(space->collFuncSet); } }
void cpSpaceDestroy(cpSpace *space) { cpSpaceHashFree(space->staticShapes); cpSpaceHashFree(space->activeShapes); cpArrayFree(space->bodies); cpArrayFree(space->joints); if(space->contactSet) cpHashSetEach(space->contactSet, &arbiterFreeWrap, NULL); cpHashSetFree(space->contactSet); cpArrayFree(space->arbiters); if(space->collFuncSet) cpHashSetEach(space->collFuncSet, &freeWrap, NULL); cpHashSetFree(space->collFuncSet); }