Coverage Summary for Class: PauseScreen (com.mygdx.game.UI)
Class |
Method, %
|
Line, %
|
PauseScreen |
0%
(0/4)
|
0%
(0/36)
|
PauseScreen$1 |
0%
(0/2)
|
0%
(0/2)
|
PauseScreen$2 |
0%
(0/2)
|
0%
(0/3)
|
PauseScreen$3 |
0%
(0/2)
|
0%
(0/4)
|
PauseScreen$4 |
0%
(0/2)
|
0%
(0/3)
|
Total |
0%
(0/12)
|
0%
(0/48)
|
1 package com.mygdx.game.UI;
2
3 import com.badlogic.gdx.Gdx;
4 import com.badlogic.gdx.Input;
5 import com.badlogic.gdx.graphics.Color;
6 import com.badlogic.gdx.graphics.Texture;
7 import com.badlogic.gdx.graphics.g2d.TextureRegion;
8 import com.badlogic.gdx.scenes.scene2d.Actor;
9 import com.badlogic.gdx.scenes.scene2d.ui.Label;
10 import com.badlogic.gdx.scenes.scene2d.ui.Table;
11 import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
12 import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
13 import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
14
15 import com.mygdx.game.Managers.SaveManager;
16 import com.mygdx.game.PirateGame;
17
18 import static com.mygdx.utils.Constants.VIEWPORT_HEIGHT;
19
20 /**
21 * New for Assessment 2, added to allow the addition of a restart button without causing screen clutter.
22 * Contains widgets defining the pause screen.
23 */
24 public class PauseScreen extends Page{
25
26 /**
27 * Creates a Pause Screen
28 * @param game The game object this screen is viewing
29 */
30 public PauseScreen(PirateGame game) {
31 super(game);
32 }
33
34 @Override
35 protected void CreateActors() {
36 Table t = new Table();
37 // t.debug();
38
39 float space = VIEWPORT_HEIGHT * 0.10f;
40 t.setFillParent(true);
41 actors.add(t);
42 t.add();
43 t.row();
44 Label title = new Label("Paused", parent.skin);
45 title.setFontScale(2);
46 t.top();
47 t.add(title).top().spaceTop(space).spaceBottom(space);
48 t.row();
49 TextButton resume = new TextButton("Resume", parent.skin);
50 resume.addListener(new ChangeListener() {
51 @Override
52 public void changed(ChangeEvent event, Actor actor) {
53 parent.setScreen(parent.game);
54 }
55 });
56 t.add(resume).fill().spaceBottom(space);
57 t.row();
58 TextButton restart = new TextButton("Restart", parent.skin);
59 restart.addListener(new ChangeListener() {
60 @Override
61 public void changed(ChangeEvent event, Actor actor) {
62 parent.game.hide();
63 parent.restartGame();
64 }
65 });
66 t.add(restart).fill().spaceBottom(space);
67 t.row();
68
69 TextButton SExit = new TextButton("Save + Exit", parent.skin);
70 SExit.addListener(new ChangeListener() {
71 @Override
72 public void changed(ChangeEvent event, Actor actor) {
73 SaveManager.SaveGame();
74
75 Gdx.app.exit();
76 System.exit(0);
77
78 }
79 });
80 t.add(SExit).fill().spaceBottom(space);
81 t.row();
82 TextButton exit = new TextButton("Exit", parent.skin);
83 exit.addListener(new ChangeListener() {
84 @Override
85 public void changed(ChangeEvent event, Actor actor) {
86
87 Gdx.app.exit();
88 System.exit(0);
89
90 }
91 });
92 t.add(exit).fill().spaceBottom(space);
93 }
94
95 /**
96 * Called Once per frame
97 */
98 @Override
99 protected void update() {
100 super.update();
101
102 if (Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
103 Gdx.app.exit();
104 System.exit(0);
105 }
106 }
107
108 /**
109 * Resizes the viewport
110 * @param width The horizontal dimension of the viewport
111 * @param height The vertical dimension of the viewport
112 */
113 @Override
114 public void resize(int width, int height) {
115 super.resize(width, height);
116 Table t = (Table) actors.get(0);
117 TextureRegion tex = new TextureRegion(new Texture(parent.game.pixmap));
118 tex.flip(false, true);
119 t.setBackground((new TextureRegionDrawable(tex)).tint(Color.GRAY));
120 }
121 }
122