Coverage Summary for Class: MenuScreen (com.mygdx.game.UI)
| Class | Method, % | Line, % |
|---|---|---|
| MenuScreen | 0% (0/6) | 0% (0/46) |
| MenuScreen$1 | 0% (0/2) | 0% (0/3) |
| MenuScreen$2 | 0% (0/2) | 0% (0/2) |
| MenuScreen$3 | 0% (0/2) | 0% (0/3) |
| Total | 0% (0/12) | 0% (0/54) |
1 package com.mygdx.game.UI; 2 3 import com.badlogic.gdx.Gdx; 4 import com.badlogic.gdx.Preferences; 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.SelectBox; 8 import com.badlogic.gdx.scenes.scene2d.ui.Table; 9 import com.badlogic.gdx.scenes.scene2d.ui.TextButton; 10 import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; 11 import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable; 12 import com.mygdx.game.Managers.GameDifficulty; 13 import com.mygdx.game.Managers.ResourceManager; 14 import com.mygdx.game.Managers.SaveManager; 15 import com.mygdx.game.PirateGame; 16 17 import static com.mygdx.utils.Constants.VIEWPORT_HEIGHT; 18 19 /** 20 * Contains widgets defining the start-of-game menu screen. 21 */ 22 public class MenuScreen extends Page { 23 private SelectBox<String> hardness; 24 25 /** 26 * Creates a Menu Screen 27 * @param parent The game object this screen is viewing 28 */ 29 public MenuScreen(PirateGame parent) { 30 super(parent); 31 } 32 33 /** 34 * Create menu widgets such as start button, labels, etc. 35 */ 36 @Override 37 protected void CreateActors() { 38 Table t = new Table(); 39 t.setFillParent(true); 40 41 float space = VIEWPORT_HEIGHT * 0.15f; 42 43 t.setBackground(new TextureRegionDrawable(ResourceManager.getTexture("menuBG.jpg"))); 44 Label l = new Label("Pirates the movie the game", parent.skin); 45 l.setFontScale(2); 46 t.add(l).top().spaceBottom(space); 47 t.row(); 48 49 hardness = new SelectBox<>(parent.skin); 50 51 52 String[] values = new String[]{"Easy", "Regular", "Hard"}; 53 hardness.setItems(values); 54 hardness.setSelected(values[1]); 55 t.add(new Label("Difficulty:", parent.skin)); 56 t.row(); 57 t.add(hardness); 58 t.row(); 59 t.add().pad(30); 60 t.row(); 61 TextButton play = new TextButton("Play", parent.skin); 62 play.addListener(new ChangeListener() { 63 @Override 64 public void changed(ChangeEvent event, Actor actor) { 65 // start of assessment 2 change 66 parent.setDifficulty(hardness.getSelected()); 67 parent.StartGame(); 68 //end of assessment 2 change 69 } 70 }); 71 t.add(play).top().size(100, 25).spaceBottom(space); 72 t.row(); 73 t.add().pad(20); 74 t.row(); 75 Preferences prefs = Gdx.app.getPreferences("pirate/GameSave_game_1"); 76 String resume = "Resume"; 77 if (prefs.get().isEmpty()) { 78 resume = ""; 79 } 80 TextButton playLoad = new TextButton(resume, parent.skin); 81 playLoad.addListener(new ChangeListener() { 82 @Override 83 public void changed(ChangeEvent event, Actor actor) { 84 // start of assessment 2 change 85 parent.LoadGame(); 86 //end of assessment 2 change 87 } 88 }); 89 t.add(playLoad).top().size(100, 25).spaceBottom(space); 90 t.row(); 91 t.add().pad(20); 92 t.row(); 93 TextButton quit = new TextButton("Quit", parent.skin); 94 quit.addListener(new ChangeListener() { 95 @Override 96 public void changed(ChangeEvent event, Actor actor) { 97 Gdx.app.exit(); 98 System.exit(0); 99 } 100 }); 101 t.add(quit).size(100, 25).top().spaceBottom(space); 102 103 t.top(); 104 105 actors.add(t); 106 } 107 108 /** 109 * Shows the Menu Screen 110 */ 111 @Override 112 public void show() { 113 super.show(); 114 } 115 116 /** 117 * Hides the Menu Screen 118 */ 119 @Override 120 public void hide() { 121 super.hide(); 122 } 123 124 /** 125 * Resizes the viewport 126 * @param width The horizontal dimension of the viewport 127 * @param height The vertical dimension of the viewport 128 */ 129 @Override 130 public void resize(int width, int height) { 131 super.resize(width, height); 132 Table t = (Table) actors.get(0); 133 t.setBackground(new TextureRegionDrawable(ResourceManager.getTexture("menuBG.jpg"))); // prevent the bg being stretched 134 } 135 }