예제 #1
0
void Engine_destroy()
{
	Input_destroy();
	
	Logic_destroy();
	
	Physics_destroy();
	
	Timer_destroy();
	
	Graphics_destroy();
}
예제 #2
0
void Menu_destroy(Menu * menu) {
	if (menu) {
		free(menu->rect);
		SDL_FreeSurface(menu->surface);

		Node* actual = menu->buttons->begin;
		Node * aux = NULL;
		while (actual != NULL) {

			aux = actual->next;

			if (actual->value != NULL) {
				Button_destroy((Button *) actual->value);
			}
			actual = aux;
		}

		actual = menu->inputs->begin;
		aux = NULL;
		while (actual != NULL) {

			aux = actual->next;

			if (actual->value != NULL) {
				Input_destroy((Input *) actual->value);
			}
			actual = aux;
		}

		Menu_destroy_labels(menu);

		List_destroy(menu->buttons);
		List_destroy(menu->inputs);
		List_destroy(menu->labels);

		menu = NULL;
	}
}