package com.digitalwolf.screenhelpers;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.scenes.scene2d.actions.Actions;
import com.digitalwolf.drona.assets.Assets;
import com.digitalwolf.drona.screens.GameScreen;
import com.digitalwolf.gamedata.GameOverInfo;
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 GameOverScreenHelper implements ScreenHelper{
public TableModel readyMenuTable;
private ButtonGame screenShotButton,playButton;
private final float dipRatioWidth = 500*AppSettings.getWorldPositionXRatio();
private final float dipRatioHeight = 90*AppSettings.getWorldPositionYRatio();
@Override
public void setUpMenu(final GameScreen gameScreen) {
readyMenuTable = new TableModel(Assets.highscore_table,
560*AppSettings.getWorldPositionXRatio(), 4f*dipRatioHeight);
readyMenuTable.setPosition(200*AppSettings.getWorldPositionXRatio(), AppSettings.SCREEN_H + 1.2f*readyMenuTable.getHeight());
screenShotButton = MenuCreator.createCustomGameButton(null,
Assets.nothing, Assets.nothing);
screenShotButton.setTextureExternalPosXY(50*AppSettings.getWorldPositionXRatio(), 60*AppSettings.getWorldPositionYRatio());
screenShotButton.setTextureExternalSize(dipRatioWidth/1.3f, 2f*dipRatioHeight);
playButton = MenuCreator.createCustomGameButton(Assets.whiteFont,
Assets.nothing, Assets.nothing);
playButton.setPosition(220*AppSettings.getWorldPositionXRatio(), -2*playButton.getHeight());
playButton.setTextPosXY(60*AppSettings.getWorldPositionXRatio(), 70*AppSettings.getWorldPositionYRatio());
readyMenuTable.add(screenShotButton).size(dipRatioWidth, 3.5f*dipRatioHeight).center();
gameScreen.getStage().addActor(readyMenuTable);
gameScreen.getStage().addActor(playButton);
}
@Override
public void sendInMenu(final GameScreen gameScreen) {
// SEND AWAY ALL THE SCREEN HELPERS FIRST
gameScreen.sendAwayAllScreenHelpers();
gameScreen.dronaWeaponSelectScreenHelper.sendAwayMenu(gameScreen);
// Set the Game Over Texture
TextureRegion info = null;
switch(GameScreen.gameOverInfo){
case GameOverInfo.DRONA_FELL_DOWN:
info = Assets.infoDronaDead;
break;
case GameOverInfo.DRONA_KILLED_BY_PAWNS:
info = Assets.infoKilledByPawns;
break;
case GameOverInfo.DRONA_KILLED_BY_CONSPIRATORS:
info = Assets.infoKilledByConspirators;
break;
case GameOverInfo.DRONA_KILLED_BY_BOSS_ENEMY:
info = Assets.infoKilledByBossEnemy;
break;
}
screenShotButton.setTextureExternal(info, true);
playButton.setText(""+GameScreen.scoreString, true);
gameScreen.isGameOverMenuDisplaying = true;
readyMenuTable.addAction(Actions.moveTo(200*AppSettings.getWorldPositionXRatio(), AppSettings.SCREEN_H - 1.1f*readyMenuTable.getHeight(), 0.5f));
playButton.addAction(Actions.moveTo(220*AppSettings.getWorldPositionXRatio(), playButton.getHeight()/2, 0.5f));
}
@Override
public void sendAwayMenu(GameScreen gameScreen) {
gameScreen.isGameOverMenuDisplaying = false;
readyMenuTable.addAction(Actions.moveTo(200*AppSettings.getWorldPositionXRatio(), AppSettings.SCREEN_H + 1.2f*readyMenuTable.getHeight(), 0.5f));
playButton.addAction(Actions.moveTo(220*AppSettings.getWorldPositionXRatio(), -2*playButton.getHeight(), 0.5f));
}
}