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 }