Esempio n. 1
0
  @Override
  public void show() {
    super.show();

    // Reset data
    if (!game.isRestoredState()) {
      game.getState().reset();
    } else {
      game.setRestoredState(false);
      if (game.getState().isTimeout()) {
        game.pushScreen(Screens.GAME_OVER);
      }
    }

    // The player is playing
    game.getState().setPlaying(true);
    score.setValue(game.getState().getScore());
    timer.setSeconds(game.getState().getRemainingTime());

    paused = running = askingLeave = false;

    if (!game.getState().isCountdownFinished()) {
      countdown(
          2,
          new Runnable() {
            @Override
            public void run() {
              game.getState().setCountdownFinished(true);

              // Start the game unless the user is leaving or is paused.
              if (!paused && !askingLeave) {
                running = true;
                board.setColoured(true);
                timer.setRunning(true);
                board.setTouchable(Touchable.enabled);
                game.player.playSound(SoundCode.SUCCESS);
              }
            }
          });
    } else {
      pauseGame();
    }
  }