summaryrefslogtreecommitdiffstats
path: root/test/src/ch
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2019-12-17 16:35:04 +0100
committerJérémy Zurcher <jeremy@asynk.ch>2019-12-17 16:35:04 +0100
commit49ba15174430fe4c86350348e31659c959af411c (patch)
tree2d396deaeb2954041e1186cf6d607c3a2d890ccc /test/src/ch
parentbc6b9374d9eb228bbc3d66ed6f77ea4e6ff084fe (diff)
downloadgdx-boardgame-49ba15174430fe4c86350348e31659c959af411c.zip
gdx-boardgame-49ba15174430fe4c86350348e31659c959af411c.tar.gz
test : set animate(), draw() and drawDebug() on each Screen
Diffstat (limited to 'test/src/ch')
-rw-r--r--test/src/ch/asynk/gdx/boardgame/test/AbstractScreen.java21
-rw-r--r--test/src/ch/asynk/gdx/boardgame/test/AnimationsScreen.java32
-rw-r--r--test/src/ch/asynk/gdx/boardgame/test/BoardScreen.java17
-rw-r--r--test/src/ch/asynk/gdx/boardgame/test/MenuScreen.java8
-rw-r--r--test/src/ch/asynk/gdx/boardgame/test/UiScreen.java2
5 files changed, 53 insertions, 27 deletions
diff --git a/test/src/ch/asynk/gdx/boardgame/test/AbstractScreen.java b/test/src/ch/asynk/gdx/boardgame/test/AbstractScreen.java
index d65c853..deb8dca 100644
--- a/test/src/ch/asynk/gdx/boardgame/test/AbstractScreen.java
+++ b/test/src/ch/asynk/gdx/boardgame/test/AbstractScreen.java
@@ -30,7 +30,7 @@ public abstract class AbstractScreen implements Screen
protected final Vector3 boardTouch = new Vector3();
protected final Vector3 hudTouch = new Vector3();
- private ShapeRenderer debugShapes = null;
+ private ShapeRenderer shapeRenderer = null;
protected final String dom;
protected final GdxBoardTest app;
@@ -55,18 +55,21 @@ public abstract class AbstractScreen implements Screen
this.inputDelay = 0f;
this.paused = false;
- if (DEBUG) this.debugShapes = new ShapeRenderer();
+ if (DEBUG) this.shapeRenderer = new ShapeRenderer();
HdpiUtils.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
}
- protected void drawDebug(ShapeRenderer shapeRenderer) { }
+ protected abstract boolean animate(float delta);
protected abstract void draw(SpriteBatch batch);
+ protected abstract void drawDebug(ShapeRenderer shapeRenderer);
@Override public void render(float delta)
{
if (paused) return;
- Gdx.gl.glClearColor(1, 1, 1, 1);
+ if (!animate(delta)) return;
+
+ Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
@@ -77,11 +80,11 @@ public abstract class AbstractScreen implements Screen
if (DEBUG) {
Gdx.gl.glEnable(GL20.GL_BLEND);
- debugShapes.setAutoShapeType(true);
- debugShapes.setProjectionMatrix(camera.combined);
- debugShapes.begin();
- drawDebug(debugShapes);
- debugShapes.end();
+ shapeRenderer.setAutoShapeType(true);
+ shapeRenderer.setProjectionMatrix(camera.combined);
+ shapeRenderer.begin();
+ drawDebug(shapeRenderer);
+ shapeRenderer.end();
}
}
diff --git a/test/src/ch/asynk/gdx/boardgame/test/AnimationsScreen.java b/test/src/ch/asynk/gdx/boardgame/test/AnimationsScreen.java
index 19602ee..6fcc30f 100644
--- a/test/src/ch/asynk/gdx/boardgame/test/AnimationsScreen.java
+++ b/test/src/ch/asynk/gdx/boardgame/test/AnimationsScreen.java
@@ -3,6 +3,7 @@ package ch.asynk.gdx.boardgame.test;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
+import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.math.Vector2;
@@ -164,11 +165,8 @@ public class AnimationsScreen extends AbstractScreen
super.dispose();
}
- @Override public void draw(SpriteBatch batch) { }
- @Override public void render(float delta)
+ @Override protected boolean animate(float delta)
{
- if (paused) return;
-
if (inputBlocked) {
inputDelay -= delta;
if (inputDelay <= 0f)
@@ -178,15 +176,13 @@ public class AnimationsScreen extends AbstractScreen
dice.animate(delta);
if (animations.animate(delta)) {
app.switchToMenu();
- return;
+ return false;
}
+ return true;
+ }
- Gdx.gl.glClearColor(0, 0, 0, 1);
- Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
-
- cam.applyBoardViewport();
- batch.setProjectionMatrix(cam.combined);
- batch.begin();
+ @Override public void draw(SpriteBatch batch)
+ {
batch.draw(map, 0, 0);
for (int i = 0; i < path.size(); i++) {
path.get(i).draw(batch);
@@ -197,7 +193,19 @@ public class AnimationsScreen extends AbstractScreen
other2.draw(batch);
dice.draw(batch);
animations.draw(batch);
- batch.end();
+ }
+
+ @Override public void drawDebug(ShapeRenderer shapeRenderer)
+ {
+ for (int i = 0; i < path.size(); i++) {
+ path.get(i).drawDebug(shapeRenderer);
+ }
+ panzer.drawDebug(shapeRenderer);
+ other0.drawDebug(shapeRenderer);
+ other1.drawDebug(shapeRenderer);
+ other2.drawDebug(shapeRenderer);
+ dice.drawDebug(shapeRenderer);
+ animations.drawDebug(shapeRenderer);
}
@Override public void resize(int width, int height)
diff --git a/test/src/ch/asynk/gdx/boardgame/test/BoardScreen.java b/test/src/ch/asynk/gdx/boardgame/test/BoardScreen.java
index 85b57c9..5357449 100644
--- a/test/src/ch/asynk/gdx/boardgame/test/BoardScreen.java
+++ b/test/src/ch/asynk/gdx/boardgame/test/BoardScreen.java
@@ -3,6 +3,7 @@ package ch.asynk.gdx.boardgame.test;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
+import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.math.Vector2;
@@ -170,19 +171,19 @@ public class BoardScreen extends AbstractScreen
setState(State.HEX_V);
}
- @Override public void draw(SpriteBatch batch) { }
- @Override public void render(float delta)
+ @Override protected boolean animate(float delta)
{
- if (paused) return;
-
if (inputBlocked) {
inputDelay -= delta;
if (inputDelay <= 0f)
inputBlocked = false;
}
+ return true;
+ }
- Gdx.gl.glClearColor(0, 0, 0, 1);
- Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
+ @Override public void draw(SpriteBatch batch)
+ {
+ batch.end(); // for AbstractScreen
cam.applyBoardViewport();
batch.setProjectionMatrix(cam.combined);
@@ -195,8 +196,12 @@ public class BoardScreen extends AbstractScreen
batch.begin();
root.draw(batch);
batch.end();
+
+ batch.begin(); // for AbstractScreen
}
+ @Override public void drawDebug(ShapeRenderer shapeRenderer) { }
+
@Override public void resize(int width, int height)
{
GdxBoardTest.debug("BoardScrean", String.format("resize (%d,%d)",width, height));
diff --git a/test/src/ch/asynk/gdx/boardgame/test/MenuScreen.java b/test/src/ch/asynk/gdx/boardgame/test/MenuScreen.java
index 95dbd80..3c198e0 100644
--- a/test/src/ch/asynk/gdx/boardgame/test/MenuScreen.java
+++ b/test/src/ch/asynk/gdx/boardgame/test/MenuScreen.java
@@ -3,6 +3,7 @@ package ch.asynk.gdx.boardgame.test;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.OrthographicCamera;
+import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import ch.asynk.gdx.boardgame.ui.Alignment;
import ch.asynk.gdx.boardgame.ui.Menu;
@@ -34,6 +35,8 @@ public class MenuScreen extends AbstractScreen
this.camera.position.set(bg.getWidth() / 2f, bg.getHeight() / 2f, 0);
}
+ @Override protected boolean animate(float delta) { return true; }
+
@Override protected void draw(SpriteBatch batch)
{
batch.draw(bg, 0, 0);
@@ -41,6 +44,11 @@ public class MenuScreen extends AbstractScreen
root.draw(batch);
}
+ @Override protected void drawDebug(ShapeRenderer shapeRenderer)
+ {
+ root.drawDebug(shapeRenderer);
+ }
+
private void drawCorners(SpriteBatch batch)
{
float right = root.getInnerX() + root.getInnerWidth() - corner.getWidth();
diff --git a/test/src/ch/asynk/gdx/boardgame/test/UiScreen.java b/test/src/ch/asynk/gdx/boardgame/test/UiScreen.java
index 8793510..14d282c 100644
--- a/test/src/ch/asynk/gdx/boardgame/test/UiScreen.java
+++ b/test/src/ch/asynk/gdx/boardgame/test/UiScreen.java
@@ -94,6 +94,8 @@ public class UiScreen extends AbstractScreen
this.state = state;
}
+ @Override protected boolean animate(float delta) { return true; }
+
@Override protected void draw(SpriteBatch batch)
{
batch.draw(bg, 0, 0);