void Scene::Collect() { ListIter<Graphic> iter = graphics; while (++iter) { Graphic* g = iter.value(); if (g->Life() == 0) { delete iter.removeItem(); } } iter.attach(sprites); while (++iter) { Graphic* g = iter.value(); if (g->Life() == 0) { delete iter.removeItem(); } } ListIter<Light> iter1 = lights; while (++iter1) { Light* l = iter1.value(); if (l->Life() == 0) { delete iter1.removeItem(); } } }