@Override public void update(float delta) { if (!isGameOver) { List<TouchEvent> events = stateManager.getTouchHandler().getTouchEvents(); if (!isExitDialogShowing) isExitDialogShowing = stateManager.isBackPressed(); if (isExitDialogShowing) { events = yesButton.update(events); events = noButton.update(events); if (yesButton.state == Button.ACTIVATED) { yesButton.disarm(); stateManager.setState(new MainMenuState(stateManager)); } if (noButton.state == Button.ACTIVATED) { noButton.disarm(); isExitDialogShowing = false; } } else { if (switchTurns) { if (map.getPlayer2() == map.getCurrentPlayersTurn()) events.clear(); events = switchTurnsOKButton.update(events); events.clear(); if (switchTurnsOKButton.state == Button.ACTIVATED) { switchTurnsOKButton.disarm(); switchTurns = false; checkWin = true; map.doneSwitchingTurns(); } } map.update(events); } } else { // TODO: maybe take us to a game breakdown state which records stats for the match // right now, just take us back to the main menu stateManager.setState(new MainMenuState(stateManager)); } }