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.badlogic.gdx.scenes.scene2d.utils.Align;
import com.digitalwolf.assets.Assets;
import com.digitalwolf.gamedata.EggData;
import com.digitalwolf.gamedata.GemData;
import com.digitalwolf.screens.GameScreen;
import com.digitalwolf.screens.LevelSelectScreen;
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 GameScreenGameReadyMenu extends GameScreenAbstractMenu{
private TableModel gameReadyMenuTable;
private ButtonGame infoButton, numGemsButton,numEggsButton;
private ButtonGame missionText;
private ButtonGame okButton,cancelButton;
@Override
public void setUpMenu(final GameScreen gameScreen) {
gameReadyMenuTable = new TableModel(Assets.table_menu,
AppSettings.SCREEN_W/1.3f , AppSettings.WORLD_HEIGHT/1.3f);
gameReadyMenuTable.setPosition(100*AppSettings.getWorldPositionXRatio(), -AppSettings.SCREEN_H);
infoButton = MenuCreator.createCustomGameButton(Assets.bigFont,
Assets.transparent, Assets.transparent);
infoButton.setTextPosXY(20*AppSettings.getWorldPositionXRatio(), 38*AppSettings.getWorldPositionYRatio());
numGemsButton = MenuCreator.createCustomGameButton(Assets.smallFont,
Assets.snake_gem, Assets.snake_gem);
numGemsButton.setTextPosXY(-100*AppSettings.getWorldPositionXRatio(), 35*AppSettings.getWorldPositionYRatio());
numGemsButton.setText(""+GemData.getGemPosition(GameScreen.currentlevel).length/2+" x ", true);
missionText = MenuCreator.createCustomGameButton(Assets.smallFont, Assets.transparent, Assets.transparent);
missionText.setTextPosXY(20*AppSettings.getWorldPositionXRatio(), 40*AppSettings.getWorldPositionYRatio());
numEggsButton= MenuCreator.createCustomGameButton(Assets.smallFont, Assets.egg, Assets.egg);
numEggsButton.setTextPosXY(-90*AppSettings.getWorldPositionXRatio(), 30*AppSettings.getWorldPositionYRatio());
numEggsButton.setText(""+EggData.getEggPosition(GameScreen.currentlevel).length/2+" x ", true);
cancelButton = MenuCreator.createCustomGameButton(null,
Assets.left_button, Assets.left_button);
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.getGame().setScreen(new LevelSelectScreen(gameScreen.getGame(), "LevelSelect Screen"));
}
});
okButton = MenuCreator.createCustomGameButton(null,
Assets.right_button, Assets.right_button);
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_RUNNING;
gameScreen.resetGame();
gameScreen.setUpTheWorld();
}
});
float dipRatioWidth = 80 * AppSettings.getWorldSizeRatio();
float dipRatioHeight = 80 * AppSettings.getWorldSizeRatio();
float padding = 10.0f * AppSettings.getWorldSizeRatio();
gameReadyMenuTable.defaults().align(Align.bottom);
gameReadyMenuTable.add(infoButton).size(3.0f*dipRatioWidth, dipRatioHeight/1.5f).pad(padding).center();
gameReadyMenuTable.row();
gameReadyMenuTable.add(missionText).size(5.5f*dipRatioWidth, dipRatioHeight/1.5f);
gameReadyMenuTable.row();
gameReadyMenuTable.add(numGemsButton).size(80/2*AppSettings.getWorldSizeRatio(), 74/2*AppSettings.getWorldSizeRatio()).pad(padding);
gameReadyMenuTable.row();
gameReadyMenuTable.add(numEggsButton).size(80/2*AppSettings.getWorldSizeRatio(), 67/2*AppSettings.getWorldSizeRatio());
gameReadyMenuTable.row();
gameReadyMenuTable.add(cancelButton).align(Align.left).size(dipRatioWidth, dipRatioHeight);
gameReadyMenuTable.add(okButton).align(Align.right).size(dipRatioWidth, dipRatioHeight);
}
@Override
public void sendInMenu(final GameScreen gameScreen) {
// TODO Auto-generated method stub
missionText.setText("Collect at least ..", true);
gameScreen.getStage().addActor(gameReadyMenuTable);
infoButton.setText("LEVEL : "+GameScreen.currentlevel, true);
gameReadyMenuTable.addAction(Actions.moveTo(100*AppSettings.getWorldPositionXRatio(), 60*AppSettings.getWorldPositionYRatio(), 0.5f));
}
@Override
public void sendAwayMenu(final GameScreen gameScreen) {
// TODO Auto-generated method stub
gameReadyMenuTable.addAction(Actions.moveTo(100*AppSettings.getWorldPositionXRatio(),- gameReadyMenuTable.getHeight(), 0.5f));
}
}