void PhysicsWorld::setGravity(const Vect& gravity)
{
    if (_bodies != nullptr)
    {
        for (auto child : *_bodies)
        {
            PhysicsBody* body = dynamic_cast<PhysicsBody*>(child);
            
            // reset gravity for body
            if (!body->isGravityEnabled())
            {
                body->applyForce(-_gravity);
                body->applyForce(gravity);
            }
        }
    }
    
    _gravity = gravity;
    cpSpaceSetGravity(_info->getSpace(), PhysicsHelper::point2cpv(gravity));
}