//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();
}
Example #2
0
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();
}