Coverage Summary for Class: Page (com.mygdx.game.UI)
Class |
Class, %
|
Method, %
|
Line, %
|
Page |
0%
(0/1)
|
0%
(0/6)
|
0%
(0/24)
|
1 package com.mygdx.game.UI;
2
3 import com.badlogic.gdx.Gdx;
4 import com.badlogic.gdx.Input;
5 import com.badlogic.gdx.ScreenAdapter;
6 import com.badlogic.gdx.scenes.scene2d.Actor;
7 import com.mygdx.game.PirateGame;
8
9 import java.util.ArrayList;
10
11 import static com.mygdx.utils.Constants.UPDATE_VIEWPORT;
12
13 /**
14 * Base class for UI screens. Contains and draws UI actors added in subclasses.
15 */
16 public abstract class Page extends ScreenAdapter {
17 PirateGame parent;
18
19 protected ArrayList<Actor> actors;
20
21 /**
22 * Creates a Page Object
23 * @param parent The Game which this is attached to
24 */
25 public Page(PirateGame parent) {
26 this.parent = parent;
27 actors = new ArrayList<>();
28 CreateActors();
29 }
30
31 protected abstract void CreateActors();
32
33 /**
34 * Called once the page is show sets input handler and adds actors
35 */
36 @Override
37 public void show() {
38 // button.addListener(new ChangeListener() {
39 // public void changed (ChangeEvent event, Actor actor) {
40 // System.out.println("Clicked! Is checked: " + button.isChecked());
41 // button.setText("Good job!");
42 // }
43 // });
44 super.show();
45 Gdx.input.setInputProcessor(parent.stage);
46 for (Actor a : actors) {
47 parent.stage.addActor(a);
48 }
49 }
50
51 /**
52 * draws the stage and acts upon it also calls update
53 * @param delta delta time
54 */
55 @Override
56 public void render(float delta) {
57 update();
58 super.render(delta);
59 parent.stage.act(delta);
60 parent.stage.draw();
61 if (Gdx.input.isKeyJustPressed(Input.Keys.ENTER)) {
62 parent.setScreen(parent.game);
63 }
64 }
65
66 /**
67 * Called once the page is hidden. sets input handler to null and clears teh stage
68 */
69 @Override
70 public void hide() {
71 super.hide();
72 Gdx.input.setInputProcessor(null);
73 parent.stage.clear();
74 }
75
76 /**
77 * Called once the window is resized - updates constants and stage
78 * @param width new dim x
79 * @param height new dom y
80 */
81 @Override
82 public void resize(int width, int height) {
83 super.resize(width, height);
84 UPDATE_VIEWPORT(width, height);
85 parent.stage.getCamera().viewportWidth = width;
86 parent.stage.getCamera().viewportHeight = height;
87 parent.stage.getViewport().update(width, height, true);
88 }
89
90 /**
91 * Called once per frame
92 */
93 protected void update() {
94
95 }
96 }