Coverage Summary for Class: EndScreen (com.mygdx.game.UI)
| Class | Method, % | Line, % |
|---|---|---|
| EndScreen | 0% (0/6) | 0% (0/29) |
| EndScreen$1 | 0% (0/2) | 0% (0/3) |
| Total | 0% (0/8) | 0% (0/32) |
1 package com.mygdx.game.UI; 2 3 import com.badlogic.gdx.Gdx; 4 import com.badlogic.gdx.Input; 5 import com.badlogic.gdx.scenes.scene2d.Actor; 6 import com.badlogic.gdx.scenes.scene2d.ui.Label; 7 import com.badlogic.gdx.scenes.scene2d.ui.Table; 8 import com.badlogic.gdx.scenes.scene2d.ui.TextButton; 9 import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; 10 import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable; 11 import com.mygdx.game.Entitys.Player; 12 import com.mygdx.game.Managers.GameManager; 13 import com.mygdx.game.Managers.ResourceManager; 14 import com.mygdx.game.PirateGame; 15 16 import static com.mygdx.utils.Constants.VIEWPORT_HEIGHT; 17 18 /** 19 * Contains widgets defining the game end screen. 20 */ 21 public class EndScreen extends Page { 22 Label wonText; 23 Label playerStats; 24 25 /** 26 * Creates an End Screen 27 * @param game The game object this screen is viewing 28 */ 29 public EndScreen(PirateGame game) { 30 super(game); 31 } 32 33 /** 34 * Set game end screen status to report a win. 35 */ 36 public void win() { 37 wonText.setText("Congrats You Have Won"); 38 } 39 40 /** 41 * Create game end screen widgets, initialised to game loss status. 42 */ 43 @Override 44 protected void CreateActors() { 45 Table t = new Table(); 46 t.setBackground(new TextureRegionDrawable(ResourceManager.getTexture("menuBG.jpg"))); 47 48 float space = VIEWPORT_HEIGHT * 0.25f; 49 t.setFillParent(true); 50 actors.add(t); 51 wonText = new Label("Game Over", parent.skin); 52 wonText.setFontScale(2); 53 t.top(); 54 t.add(wonText).top().spaceBottom(space); 55 t.row(); 56 playerStats = new Label("Player Stats:\n", parent.skin); 57 t.add(playerStats).spaceBottom(space); 58 t.row(); 59 TextButton b = new TextButton("Exit", parent.skin); 60 b.addListener(new ChangeListener() { 61 @Override 62 public void changed(ChangeEvent event, Actor actor) { 63 Gdx.app.exit(); 64 System.exit(0); 65 } 66 }); 67 t.add(b); 68 } 69 70 /** 71 * Called Once per Frame 72 */ 73 @Override 74 protected void update() { 75 super.update(); 76 77 if (Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) { 78 Gdx.app.exit(); 79 System.exit(0); 80 } 81 } 82 83 /** 84 * Get player stats such as plunder etc. and display game end screen. 85 */ 86 @Override 87 public void show() { 88 super.show(); 89 Player p = GameManager.getPlayer(); 90 String stats = String.format("Health: %s\nAmmo: %s\nPoints: %s\nPlunder: %s", p.getHealth(), p.getAmmo(), p.getPoints(), p.getPlunder()); 91 playerStats.setText(stats); 92 } 93 94 /** 95 * Resizes the viewport 96 * @param width The horizontal dimension of the viewport 97 * @param height The vertical dimension of the viewport 98 */ 99 @Override 100 public void resize(int width, int height) { 101 super.resize(width, height); 102 Table t = (Table) actors.get(0); 103 t.setBackground(new TextureRegionDrawable(ResourceManager.getTexture("menuBG.jpg"))); // prevent the bg being stretched 104 } 105 }