public LoadingStage() {
    initViewport();

    // Get our textureatlas from the manager, then get assets
    TextureAtlas atlas = Game.GDXVars().getTextureAtlas(Paths.loadingPack);
    font = Game.GDXVars().getFont(Paths.defaultFont);

    // Create actors
    background = new Image(Game.GDXVars().getTexture(Paths.splashBackground));
    background.setSize(getWidth(), getHeight());
    loadingBar = new LoadingBar(atlas);
    loadingBar.setPosition(getWidth() / 2 - loadingBar.getWidth() / 2, loadingBar.getHeight() / 2f);

    // Add actors
    addActor(background);
    addActor(loadingBar);

    // Selection group
    selector =
        new AtlasSelector(
            Game.GDXVars().getTextureAtlas(Paths.charactersPack), Game.Save().characters);
    addActor(selector);
    selector.setPosition(getWidth() / 2f - selector.getWidth() / 2f, 130);

    progress = 0f;

    // Start the work
    startLoadingWork();
  }
  @Override
  public void act(float delta) {
    Game.GDXVars().assetManager.update();
    progress = Game.GDXVars().assetManager.getProgress();
    loadingBar.setProgress(progress);
    loadingBar.setMessage((progress == 1) ? "Tap to continue..." : "Loading textures ...");
    selector.setSelectable(Game.Save().characters);

    super.act(delta);
  }
  @Override
  public void draw() {
    // Draw actors
    super.draw();

    // Write title
    getBatch().begin();
    font.setScale(1f);
    font.draw(
        getBatch(),
        Game.TITLE,
        getWidth() / 2f - font.getBounds(Game.TITLE).width / 2f,
        getHeight() - 10f);
    font.setScale(0.5f);
    TextBounds bounds = font.getBounds("Highscore : " + Game.Save().highScore);
    font.draw(
        getBatch(), "Highscore : " + Game.Save().highScore, getWidth() - bounds.width, getHeight());
    getBatch().end();
  }
  @Override
  public boolean touchUp(int screenX, int screenY, int pointer, int button) {
    if (!super.touchUp(screenX, screenY, pointer, button)) {
      if (Game.GDXVars().assetManager.update()) { // Load some, will return true if done loading
        if (Game.Save().characters[selector.getSelectedIndex()]) {
          Game.startSurvivorGame(selector.getSelectedIndex());
          return true;
        }
      }
    }

    return false;
  }