package com.digitalwolf.screenhelpers;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.actions.Actions;
import com.badlogic.gdx.scenes.scene2d.utils.ActorGestureListener;
import com.digitalwolf.assets.Assets;
import com.digitalwolf.screens.GameScreen;
import com.digitalwolf.screens.MainMenuScreen;
import com.moribitotech.mtx.ButtonGame;
import com.moribitotech.mtx.MenuCreator;
import com.moribitotech.mtx.models.base.TableModel;
import com.moribitotech.mtx.settings.AppSettings;
public class GameScreenGameOverMenu extends GameScreenAbstractMenu{
private TableModel gameOverMenuTable;
private ButtonGame infoButton,scoreButton;
private ButtonGame okButton, cancelButton;
float buttonWidth = 174 * AppSettings.getWorldSizeRatio();
float buttonHeight = 74 * AppSettings.getWorldSizeRatio();
float dipRatioWidth = 80 * AppSettings.getWorldSizeRatio();
float dipRatioHeight = 80 * AppSettings.getWorldSizeRatio();
float padding = 10.0f * AppSettings.getWorldSizeRatio();
@Override
public void setUpMenu(final GameScreen gameScreen) {
//Set Up means create and add the required Actors/UI Widgets to the Screen
gameOverMenuTable = new TableModel(Assets.transparent,
AppSettings.SCREEN_W, AppSettings.WORLD_HEIGHT);
gameOverMenuTable.setPosition(0, -gameOverMenuTable.getHeight());
gameScreen.getStage().addActor(gameOverMenuTable);
infoButton = MenuCreator.createCustomGameButton(Assets.bigFont,
Assets.pummaIcon, Assets.pummaIcon, dipRatioWidth/2, dipRatioHeight, true);
infoButton.setTextPosXY(100*AppSettings.getWorldSizeRatio(), 60*AppSettings.getWorldSizeRatio());
scoreButton = MenuCreator.createCustomGameButton(Assets.bigFont,
Assets.level_star, Assets.timer, dipRatioWidth, dipRatioHeight, true);
scoreButton.setTextPosXY(100*AppSettings.getWorldSizeRatio(), 60*AppSettings.getWorldSizeRatio());
okButton = MenuCreator.createCustomGameButton(null,
Assets.button_continue, Assets.button_continue2);
okButton.addListener(new ActorGestureListener() {
@Override
public void touchUp(InputEvent event, float x, float y,
int pointer, int button) {
super.touchUp(event, x, y, pointer, button);
sendAwayMenu(gameScreen);
GameScreen.state = GameScreen.GAME_READY;
gameScreen.resetGame();
}
});
cancelButton = MenuCreator.createCustomGameButton(null,
Assets.button_mainmenu, Assets.button_mainmenu2);
cancelButton.addListener(new ActorGestureListener() {
@Override
public void touchUp(InputEvent event, float x, float y,
int pointer, int button) {
super.touchUp(event, x, y, pointer, button);
gameScreen.resetGame();
sendAwayMenu(gameScreen);
gameScreen.getGame().setScreen(new MainMenuScreen(gameScreen.getGame(), "MainMenuScreen"));
}
});
gameOverMenuTable.add(infoButton).left().size(infoButton.getWidth(), infoButton.getHeight()).pad(padding);
gameOverMenuTable.row();
gameOverMenuTable.add(scoreButton).left().size(scoreButton.getWidth(), scoreButton.getHeight()).pad(padding);
gameOverMenuTable.row();
gameOverMenuTable.add(cancelButton).size(buttonWidth, buttonHeight).pad(padding).left();
gameOverMenuTable.add(okButton).size(buttonWidth, buttonHeight).pad(padding).right();
}
@Override
public void sendInMenu(GameScreen gameScreen) {
// TODO Auto-generated method stub
GameScreen.gameOverCounterForAds++;
infoButton.setText(""+GameScreen.gameoverinfo, true);
scoreButton.setText(""+GameScreen.scoreString, true);
gameOverMenuTable.addAction(Actions.moveTo(0, 0, 0.5f));
}
@Override
public void sendAwayMenu(GameScreen gameScreen) {
// TODO Auto-generated method stub
gameOverMenuTable.addAction(Actions.moveTo(0,- gameOverMenuTable.getHeight(), 0.5f));
}
}