package com.digitalwolf.drona.screens;
import com.badlogic.gdx.Game;
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.drona.assets.Assets;
import com.digitalwolf.gamedata.Settings;
import com.moribitotech.mtx.AbstractScreen;
import com.moribitotech.mtx.ButtonGame;
import com.moribitotech.mtx.MenuCreator;
import com.moribitotech.mtx.models.base.EmptyAbstractActor;
import com.moribitotech.mtx.models.base.TableModel;
import com.moribitotech.mtx.models.base.Text;
import com.moribitotech.mtx.settings.AppSettings;
public class HighScoresScreen extends AbstractScreen{
private TableModel tableMenu;
float dipRatioWidth = AppSettings.WORLD_WIDTH/2.5f;
float dipRatioHeight = 50 * AppSettings.getWorldSizeRatio();
float padding = 2.0f * AppSettings.getWorldSizeRatio();
private ButtonGame btnHome;
private EmptyAbstractActor player;
public HighScoresScreen(Game game, String screenName) {
super(game, screenName);
setUpScreenElements();
setUpActors();
setUpMenu();
}
public void setUpScreenElements() {
setBackgroundTexture(Assets.bg);
setBackButtonActive(true);
}
private void setUpActors() {
player = new EmptyAbstractActor(2048/8, 275, true);
player.setPosition(
150 * AppSettings.getWorldPositionXRatio()- player.getWidth() / 2.0f,
200 * AppSettings.getWorldPositionYRatio() - player.getHeight() / 2.0f);
player.setAnimation(Assets.dronaFlying, true, true);
getStage().addActor(player);
btnHome = MenuCreator.createCustomGameButton(Assets.gameFont,
Assets.back_button,Assets.back_button, 64, 64,
true);
btnHome.setPosition(AppSettings.SCREEN_W - btnHome.getWidth(), 0);
btnHome.addListener(new ActorGestureListener() {
@Override
public void touchUp(InputEvent event, float x, float y,
int pointer, int button) {
super.touchUp(event, x, y, pointer, button);
getGame().setScreen(new MainMenuScreen(getGame(), "Main Menu Screen"));
}
});
getStage().addActor(btnHome);
}
public void setUpMenu() {
// // #######################################
tableMenu = new TableModel(Assets.highscore_table,
520*AppSettings.getWorldPositionXRatio() , 480*AppSettings.getWorldPositionYRatio());
tableMenu.setPosition(AppSettings.SCREEN_W - 1.25f*tableMenu.getWidth(), AppSettings.SCREEN_H + tableMenu.getHeight());
tableMenu.addAction(Actions.moveTo(AppSettings.SCREEN_W - 1.25f*tableMenu.getWidth(), AppSettings.SCREEN_H - 1.1f*tableMenu.getHeight(), 0.5f));
for(int i=0; i<5;i++){
addScoreButton(i);
}
getStage().addActor(tableMenu);
}
public void setAwayMenu() {
tableMenu.addAction(Actions.moveTo(AppSettings.SCREEN_W - 1.25f*tableMenu.getWidth(), AppSettings.SCREEN_H + tableMenu.getHeight(), 0.5f));
}
private void addScoreButton(int i){
Text scoreText = new Text(Assets.gameFont, dipRatioWidth,dipRatioHeight, true);
scoreText.setText((i+1)+") "+" "+Settings.getHighScores()[i]);
tableMenu.add(scoreText).size(dipRatioWidth, 4*dipRatioHeight/5);
tableMenu.row();
}
@Override
public void keyBackPressed() {
super.keyBackPressed();
getGame().setScreen(new MainMenuScreen(getGame(), "MenuScreen"));
}
}