package com.bitwaffle.spaceguts.graphics.gui.menu;
import java.util.Map;
import com.bitwaffle.spaceguts.entities.Entities;
import com.bitwaffle.spaceguts.graphics.gui.GUI;
import com.bitwaffle.spaceguts.graphics.gui.GUIObject;
import com.bitwaffle.spaceguts.physics.Physics;
import com.bitwaffle.spaceguts.util.menu.MenuPainter;
import com.bitwaffle.spaceguts.util.menu.MenuPainter.Style;
import com.bitwaffle.spaceguts.util.xml.MenuParser;
import com.bitwaffle.spaceout.Runner;
/**
* The pause menu!
*
* @author arthurdent
*
*/
public class PauseMenu extends GUIObject {
/** whether or not to go back to the main menu on the next update */
public static boolean backToMainMenu = false;
private MenuPainter menuPainter;
/**
* Pause menu constructor. Automatically adds the pause menu to
* GUI.guiObjects
*/
public PauseMenu() {
super(0, 0);
// Build the main menu from menus.xml
MenuParser mp = new MenuParser("pause");
Map<String, String> rawMenu = mp.getMenu();
// Paint the menu to a hashmap
menuPainter = new MenuPainter(rawMenu, Style.HORIZONTAL_MENU, -40);
}
@Override
public void update() {
if (Runner.paused) {
menuPainter.update();
if (backToMainMenu) {
Entities.cleanup();
Physics.cleanup();
GUI.removeGUIObject(this);
GUI.addGUIObject(new MainMenu());
backToMainMenu = false;
}
}
}
@Override
public void draw() {
if (Runner.paused) {
menuPainter.draw();
}
}
}