//Cleans up the screen by destroying all objects rendered on the screen //clears all gameobjects in displayList, and destroys the postprocessing void SplashScreen::cleanUp(){ if (skyBoxObject) { skyBoxObject->destroy(); delete skyBoxObject; skyBoxObject = NULL; } auto iter = displayList.begin(); while (iter != displayList.end()) { (*iter)->destroy(); if ((*iter)) { delete (*iter); (*iter) = NULL; iter = displayList.erase(iter); } else { iter++; } } displayList.clear(); postProcessor.destroy(); }
void CleanUp() { auto iter = displayList.begin(); while (iter != displayList.end()) { (*iter)->destroy(); if ((*iter)) { delete (*iter); (*iter) = NULL; iter = displayList.erase(iter); } else { iter++; } } displayList.clear(); postProcessor.destroy(); //Clean up, reverse order /* if (physics){ physics->destroy(); delete physics; physics = NULL; } */ /* // clean up, reverse order!!! CleanUp2DScene(); //This gets rid of 2D elements CleanUp3DScene(); //This gets rid of 3D elements */ SDL_GL_DeleteContext(glcontext); SDL_DestroyWindow(window); IMG_Quit(); TTF_Quit(); SDL_Quit(); }