package de.dbaelz.secludedness.screen;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import de.dbaelz.secludedness.MainGame;
import de.dbaelz.secludedness.manager.GPGSAchievement;
import de.dbaelz.secludedness.manager.GPGSLeaderboard;
import de.dbaelz.secludedness.manager.GPGSManager;
public class CampaignFinishScreen extends AbstractScreen {
private MainGame mGame;
private TextureAtlas mAtlas;
private Skin mSkin;
private Table mTable;
public CampaignFinishScreen(MainGame game) {
super(game);
mGame = game;
manageGPGS();
}
@Override
public void show() {
super.show();
mAtlas = new TextureAtlas(Gdx.files.internal("ui/uiskin.atlas"));
FileHandle skinFile = Gdx.files.internal( "ui/uiskin.json" );
mSkin = new Skin(skinFile);
final int buttonWidth = 250;
final int buttonHeight = 30;
Label finishedLabel = new Label("== CAMPAIGN FINISHED ==", mSkin);
Label textLabel = new Label("You have successfully completed the campaign!", mSkin);
Label tempLabel = new Label("Campaign score: " + mGame.getLevelManager().getCampaignScore(), mSkin);
TextButton returnMenuScreen = new TextButton("RETURN TO MENU", mSkin);
returnMenuScreen.addListener(new ClickListener() {
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
super.touchUp(event, x, y, pointer, button);
mGame.setScreen(new MenuScreen(mGame));
}
});
mTable = new Table(mSkin);
mTable.setFillParent(true);
mStage.addActor(mTable);
mTable.add(finishedLabel);
mTable.row();
mTable.add(textLabel);
mTable.row();
mTable.add(tempLabel);
mTable.row();
mTable.add(returnMenuScreen).size(buttonWidth, buttonHeight).uniform().spaceBottom(30);
}
@Override
public void hide() {
super.hide();
mAtlas.dispose();
mSkin.dispose();
}
private void manageGPGS() {
GPGSManager manager = mGame.getGPGSManager();
manager.unlockAchievement(GPGSAchievement.FINISH_CAMPAIGN.getAchievementID());
manager.submitScore(GPGSLeaderboard.CAMPAIGN_SCORE.getLeaderboardID(), mGame.getLevelManager().getCampaignScore());
}
}