Esempio n. 1
0
  public void addResumeButton(Table table) {
    TextButton resume = new TextButton("Resume", assetHolder.buttonStyle);
    resume.addListener(
        new InputListener() {
          private GameOverlay gOverlay;

          public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            return true;
          }

          public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            gOverlay.unpauseOverlay();
          }

          public InputListener setSceneChanger(GameOverlay s) {
            this.gOverlay = s;
            return this;
          }
        }.setSceneChanger(this));
    table
        .add(resume)
        .height(assetHolder.getPercentHeightInt(assetHolder.buttonHeight))
        .width(assetHolder.getPercentWidthInt(assetHolder.buttonWidth))
        .pad(10);
    table.row();
  }
Esempio n. 2
0
  public void setupWinButtons() {
    bottomMenu.clearChildren();
    if (assetHolder.levelLoader.areMoveLevels()) {
      TextButton nextLevel = new TextButton("Next Level", assetHolder.buttonStyle);
      nextLevel.addListener(
          new InputListener() {
            private GameOverlay gOverlay;

            public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
              return true;
            }

            public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
              gOverlay.unpauseOverlay();
              gOverlay.nextLevel();
            }

            public InputListener setSceneChanger(GameOverlay s) {
              this.gOverlay = s;
              return this;
            }
          }.setSceneChanger(this));
      bottomMenu
          .add(nextLevel)
          .height(assetHolder.getPercentHeightInt(assetHolder.buttonHeight))
          .width(assetHolder.getPercentWidthInt(assetHolder.buttonWidth))
          .pad(10);
      bottomMenu.row();
    }
    addRetryButtons(bottomMenu);
  }
Esempio n. 3
0
  public void showSheepMessageButtons() {
    if (sheepGame.isLosing()) {
      setupLoseButtons();
    } else if (sheepGame.isWinning()) {
      setupWinButtons();
    } else if (sheepGame.lastMessage()) {
      bottomMenu.clearChildren();
      TextButton start = new TextButton("Start Level", assetHolder.buttonStyle);
      start.addListener(
          new InputListener() {
            private GameOverlay gOverlay;

            public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
              return true;
            }

            public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
              gOverlay.removeSheepMessage();
            }

            public InputListener setSceneChanger(GameOverlay s) {
              this.gOverlay = s;
              return this;
            }
          }.setSceneChanger(this));
      bottomMenu
          .add(start)
          .height(assetHolder.getPercentHeightInt(assetHolder.buttonHeight))
          .width(assetHolder.getPercentWidthInt(assetHolder.buttonWidth))
          .pad(10);
    } else {
      bottomMenu.clearChildren();
      TextButton next = new TextButton("Next", assetHolder.buttonStyle);
      next.addListener(
          new InputListener() {
            private GameOverlay gOverlay;

            public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
              return true;
            }

            public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
              gOverlay.removeSheepMessage();
            }

            public InputListener setSceneChanger(GameOverlay s) {
              this.gOverlay = s;
              return this;
            }
          }.setSceneChanger(this));
      bottomMenu
          .add(next)
          .height(assetHolder.getPercentHeightInt(assetHolder.buttonHeight))
          .width(assetHolder.getPercentWidthInt(assetHolder.buttonWidth))
          .pad(10);
    }
  }
Esempio n. 4
0
  public void addRetryButtons(Table table) {
    TextButton retry = new TextButton("Restart Level", assetHolder.buttonStyle);
    retry.addListener(
        new InputListener() {
          private GameOverlay gOverlay;

          public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            return true;
          }

          public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            gOverlay.unpauseOverlay();
            gOverlay.retryLevel();
          }

          public InputListener setSceneChanger(GameOverlay s) {
            this.gOverlay = s;
            return this;
          }
        }.setSceneChanger(this));
    table
        .add(retry)
        .height(assetHolder.getPercentHeightInt(assetHolder.buttonHeight))
        .width(assetHolder.getPercentWidthInt(assetHolder.buttonWidth))
        .pad(10);
    table.row();
    TextButton selectLevel = new TextButton("Main Menu", assetHolder.buttonStyle);
    selectLevel.addListener(
        new InputListener() {
          private GameOverlay gOverlay;

          public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            return true;
          }

          public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            gOverlay.unpauseOverlay();
            gOverlay.toMainMenu();
          }

          public InputListener setSceneChanger(GameOverlay s) {
            this.gOverlay = s;
            return this;
          }
        }.setSceneChanger(this));
    table
        .add(selectLevel)
        .height(assetHolder.getPercentHeightInt(assetHolder.buttonHeight))
        .width(assetHolder.getPercentWidthInt(assetHolder.buttonWidth))
        .pad(10);
    table.row();
    if (assetHolder.levelLoader.currentLevelHasHelp()) addHelpButton(table);
  }
Esempio n. 5
0
 public void render(float delta) {
   // do messages
   if (sheepGame.hasMessage()) {
     batch.begin();
     if (resultTime < 0) resultTime = 0;
     resultTime += delta;
     drawSheepMessage(sheepGame.getMessage());
     batch.end();
   }
   stage.act(delta);
   stage.draw();
   if (inOverlay) {
     batch.begin();
     batch.setColor(0f, 0f, 0f, 0.75f);
     batch.draw(
         assetHolder.white, 0, 0, assetHolder.getPercentWidth(1), assetHolder.getPercentHeight(1));
     batch.end();
   }
   overlayStage.act(delta);
   overlayStage.draw();
 }
Esempio n. 6
0
  public void drawSheepMessage(SheepMessage msg) {
    if (resultTime > resultFadeDelay) {
      resultTime = resultFadeDelay;
      if (!shownBottomMenu) {
        shownBottomMenu = true;
        showSheepMessageButtons();
      }
    }
    // get the alpha based on the time the message has been on the screen
    float alpha = (resultTime / resultFadeDelay) * resultBannerAlpha;
    // set the alpha of the batch
    batch.setColor(1.0f, 1.0f, 1.0f, alpha);

    TextBounds tb = assetHolder.fontWhite.getMultiLineBounds(msg.msg);

    // draw the background for the text with some padding
    Texture tex = assetHolder.redTex;
    if (msg.color.equals("green")) tex = assetHolder.greenTex;
    batch.draw(
        tex,
        assetHolder.getPercentWidth(.45f) - (float) tb.width / 2.0f,
        assetHolder.getPercentHeight(msg.pos - .025f) - (float) tb.height / 2.0f,
        tb.width + assetHolder.getPercentWidth(.1f),
        tb.height + assetHolder.getPercentHeight(.05f));

    // set the alpha of the font
    assetHolder.fontWhite.setColor(1, 1, 1, alpha);
    assetHolder.fontWhite.drawMultiLine(
        batch,
        msg.msg,
        assetHolder.getPercentWidth(.5f) - (float) tb.width / 2.0f,
        assetHolder.getPercentHeight(msg.pos) + (float) tb.height / 2.0f,
        tb.width,
        HAlignment.CENTER);
  }