From 5b89e9ad75e72016a4ec5c7d7c59e5ed557e60e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Tue, 11 Sep 2018 20:02:44 +0200 Subject: Hud -> GameHud, Board -> GameBoard --- core/src/ch/asynk/zproject/Board.java | 43 -------- core/src/ch/asynk/zproject/GameBoard.java | 43 ++++++++ core/src/ch/asynk/zproject/GameHud.java | 116 +++++++++++++++++++++ core/src/ch/asynk/zproject/Hud.java | 116 --------------------- core/src/ch/asynk/zproject/screens/GameScreen.java | 12 +-- 5 files changed, 165 insertions(+), 165 deletions(-) delete mode 100644 core/src/ch/asynk/zproject/Board.java create mode 100644 core/src/ch/asynk/zproject/GameBoard.java create mode 100644 core/src/ch/asynk/zproject/GameHud.java delete mode 100644 core/src/ch/asynk/zproject/Hud.java diff --git a/core/src/ch/asynk/zproject/Board.java b/core/src/ch/asynk/zproject/Board.java deleted file mode 100644 index b7e20b8..0000000 --- a/core/src/ch/asynk/zproject/Board.java +++ /dev/null @@ -1,43 +0,0 @@ -package ch.asynk.zproject; - -import com.badlogic.gdx.graphics.g2d.Batch; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.utils.Disposable; - -import ch.asynk.zproject.engine.Touchable; - -public class Board implements Disposable, Touchable -{ - private final Texture map; - - public Board(final Assets assets) - { - this.map = assets.getTexture(assets.MAP_00); - } - - @Override public void dispose() - { - map.dispose(); - } - - @Override public boolean touch(float x, float y) - { - ZProject.debug("Board", String.format("touchDown : %f %f", x, y)); - return true; - } - - public int getWidth() - { - return map.getWidth(); - } - - public int getHeight() - { - return map.getHeight(); - } - - public void draw(Batch batch) - { - batch.draw(map, 0, 0); - } -} diff --git a/core/src/ch/asynk/zproject/GameBoard.java b/core/src/ch/asynk/zproject/GameBoard.java new file mode 100644 index 0000000..d1181ad --- /dev/null +++ b/core/src/ch/asynk/zproject/GameBoard.java @@ -0,0 +1,43 @@ +package ch.asynk.zproject; + +import com.badlogic.gdx.graphics.g2d.Batch; +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.utils.Disposable; + +import ch.asynk.zproject.engine.Touchable; + +public class GameBoard implements Disposable, Touchable +{ + private final Texture map; + + public GameBoard(final Assets assets) + { + this.map = assets.getTexture(assets.MAP_00); + } + + @Override public void dispose() + { + map.dispose(); + } + + @Override public boolean touch(float x, float y) + { + ZProject.debug("GameBoard", String.format("touchDown : %f %f", x, y)); + return true; + } + + public int getWidth() + { + return map.getWidth(); + } + + public int getHeight() + { + return map.getHeight(); + } + + public void draw(Batch batch) + { + batch.draw(map, 0, 0); + } +} diff --git a/core/src/ch/asynk/zproject/GameHud.java b/core/src/ch/asynk/zproject/GameHud.java new file mode 100644 index 0000000..25b349b --- /dev/null +++ b/core/src/ch/asynk/zproject/GameHud.java @@ -0,0 +1,116 @@ +package ch.asynk.zproject; + +import com.badlogic.gdx.graphics.g2d.Batch; +import com.badlogic.gdx.graphics.g2d.Sprite; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer; +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.utils.Disposable; +import com.badlogic.gdx.math.Rectangle; + +import ch.asynk.zproject.engine.ui.Button; +import ch.asynk.zproject.engine.ui.Patch; +import ch.asynk.zproject.engine.ui.Alignment; +import ch.asynk.zproject.engine.ui.Root; +import ch.asynk.zproject.engine.Touchable; + +public class GameHud implements Disposable, Touchable +{ + private final Rectangle rect; + private final Sprite corner; + private final Root root; + private final Button hello; + private final Button next; + + public GameHud(final Assets assets) + { + this.corner = new Sprite(assets.getTexture(assets.CORNER)); + this.rect = new Rectangle(0, 0, 0 ,0); + + this.root = new Root(2); + this.root.setPadding(30); + + this.hello = new Button(assets.getFont(assets.FONT_25), assets.getNinePatch(assets.PATCH, 23, 23, 23 ,23), 10, 15); + this.hello.write("Hello"); + this.root.add(this.hello); + + this.next = new Button(assets.getFont(assets.FONT_25), assets.getNinePatch(assets.PATCH, 23, 23, 23 ,23), 20, 0); + this.next.write("NEXT"); + this.next.setPosition(100, 100); + this.root.add(this.next); + } + + @Override public void dispose() + { + corner.getTexture().dispose(); + } + + @Override public boolean touch(float x, float y) + { + if (rect.contains(x, y)) { + if (root.touch(x, y)) { + ZProject.debug("GameHud", String.format("touchDown : %f %f", x, y)); + return true; + } + } + return false; + } + + public void resize(float width, float height) + { + rect.set(0, 0, width, height); + this.root.resize(width, height); + } + + public void draw(Batch batch) + { + drawButtons(batch); + drawCorners(batch); + } + + public void drawCorners(Batch batch) + { + float right = rect.x + rect.width - corner.getWidth(); + float top = rect.y + rect.height - corner.getHeight(); + corner.setRotation(0); + corner.setPosition(rect.x, top); + corner.draw(batch); + corner.setRotation(90); + corner.setPosition(rect.x, rect.y); + corner.draw(batch); + corner.setRotation(180); + corner.setPosition(right, rect.y); + corner.draw(batch); + corner.setPosition(right, top); + corner.setRotation(270); + corner.draw(batch); + } + + private void drawButtons(Batch batch) + { + hello.setAlignment(Alignment.TOP_LEFT); + hello.setLabelAlignment(Alignment.BOTTOM_CENTER); + hello.update(); + root.draw(batch); + drawHello(batch, Alignment.TOP_CENTER, Alignment.BOTTOM_RIGHT); + drawHello(batch, Alignment.TOP_RIGHT, Alignment.TOP_LEFT); + drawHello(batch, Alignment.MIDDLE_LEFT, Alignment.TOP_CENTER); + drawHello(batch, Alignment.MIDDLE_CENTER, Alignment.TOP_RIGHT); + drawHello(batch, Alignment.MIDDLE_RIGHT, Alignment.MIDDLE_LEFT); + drawHello(batch, Alignment.BOTTOM_LEFT, Alignment.MIDDLE_CENTER); + drawHello(batch, Alignment.BOTTOM_CENTER, Alignment.MIDDLE_RIGHT); + drawHello(batch, Alignment.BOTTOM_RIGHT, Alignment.BOTTOM_LEFT); + } + + private void drawHello(Batch batch, Alignment alignment1, Alignment alignment2) + { + hello.setAlignment(alignment1); + hello.setLabelAlignment(alignment2); + hello.update(); + hello.draw(batch); + } + + public void drawDebug(ShapeRenderer debugShapes) + { + root.drawDebug(debugShapes); + } +} diff --git a/core/src/ch/asynk/zproject/Hud.java b/core/src/ch/asynk/zproject/Hud.java deleted file mode 100644 index fd74ade..0000000 --- a/core/src/ch/asynk/zproject/Hud.java +++ /dev/null @@ -1,116 +0,0 @@ -package ch.asynk.zproject; - -import com.badlogic.gdx.graphics.g2d.Batch; -import com.badlogic.gdx.graphics.g2d.Sprite; -import com.badlogic.gdx.graphics.glutils.ShapeRenderer; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.utils.Disposable; -import com.badlogic.gdx.math.Rectangle; - -import ch.asynk.zproject.engine.ui.Button; -import ch.asynk.zproject.engine.ui.Patch; -import ch.asynk.zproject.engine.ui.Alignment; -import ch.asynk.zproject.engine.ui.Root; -import ch.asynk.zproject.engine.Touchable; - -public class Hud implements Disposable, Touchable -{ - private final Rectangle rect; - private final Sprite corner; - private final Root root; - private final Button hello; - private final Button next; - - public Hud(final Assets assets) - { - this.corner = new Sprite(assets.getTexture(assets.CORNER)); - this.rect = new Rectangle(0, 0, 0 ,0); - - this.root = new Root(2); - this.root.setPadding(30); - - this.hello = new Button(assets.getFont(assets.FONT_25), assets.getNinePatch(assets.PATCH, 23, 23, 23 ,23), 10, 15); - this.hello.write("Hello"); - this.root.add(this.hello); - - this.next = new Button(assets.getFont(assets.FONT_25), assets.getNinePatch(assets.PATCH, 23, 23, 23 ,23), 20, 0); - this.next.write("NEXT"); - this.next.setPosition(100, 100); - this.root.add(this.next); - } - - @Override public void dispose() - { - corner.getTexture().dispose(); - } - - @Override public boolean touch(float x, float y) - { - if (rect.contains(x, y)) { - if (root.touch(x, y)) { - ZProject.debug("Hud", String.format("touchDown : %f %f", x, y)); - return true; - } - } - return false; - } - - public void resize(float width, float height) - { - rect.set(0, 0, width, height); - this.root.resize(width, height); - } - - public void draw(Batch batch) - { - drawButtons(batch); - drawCorners(batch); - } - - public void drawCorners(Batch batch) - { - float right = rect.x + rect.width - corner.getWidth(); - float top = rect.y + rect.height - corner.getHeight(); - corner.setRotation(0); - corner.setPosition(rect.x, top); - corner.draw(batch); - corner.setRotation(90); - corner.setPosition(rect.x, rect.y); - corner.draw(batch); - corner.setRotation(180); - corner.setPosition(right, rect.y); - corner.draw(batch); - corner.setPosition(right, top); - corner.setRotation(270); - corner.draw(batch); - } - - private void drawButtons(Batch batch) - { - hello.setAlignment(Alignment.TOP_LEFT); - hello.setLabelAlignment(Alignment.BOTTOM_CENTER); - hello.update(); - root.draw(batch); - drawHello(batch, Alignment.TOP_CENTER, Alignment.BOTTOM_RIGHT); - drawHello(batch, Alignment.TOP_RIGHT, Alignment.TOP_LEFT); - drawHello(batch, Alignment.MIDDLE_LEFT, Alignment.TOP_CENTER); - drawHello(batch, Alignment.MIDDLE_CENTER, Alignment.TOP_RIGHT); - drawHello(batch, Alignment.MIDDLE_RIGHT, Alignment.MIDDLE_LEFT); - drawHello(batch, Alignment.BOTTOM_LEFT, Alignment.MIDDLE_CENTER); - drawHello(batch, Alignment.BOTTOM_CENTER, Alignment.MIDDLE_RIGHT); - drawHello(batch, Alignment.BOTTOM_RIGHT, Alignment.BOTTOM_LEFT); - } - - private void drawHello(Batch batch, Alignment alignment1, Alignment alignment2) - { - hello.setAlignment(alignment1); - hello.setLabelAlignment(alignment2); - hello.update(); - hello.draw(batch); - } - - public void drawDebug(ShapeRenderer debugShapes) - { - root.drawDebug(debugShapes); - } -} diff --git a/core/src/ch/asynk/zproject/screens/GameScreen.java b/core/src/ch/asynk/zproject/screens/GameScreen.java index 0fe6318..30e6b67 100644 --- a/core/src/ch/asynk/zproject/screens/GameScreen.java +++ b/core/src/ch/asynk/zproject/screens/GameScreen.java @@ -15,8 +15,8 @@ import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.math.Vector3; import ch.asynk.zproject.ZProject; -import ch.asynk.zproject.Hud; -import ch.asynk.zproject.Board; +import ch.asynk.zproject.GameHud; +import ch.asynk.zproject.GameBoard; public class GameScreen implements Screen { @@ -27,8 +27,8 @@ public class GameScreen implements Screen private static final boolean DEBUG = true; private final ZProject zproject; - private final Hud hud; - private final Board board; + private final GameHud hud; + private final GameBoard board; private final GameCamera camera; private final SpriteBatch batch; private ShapeRenderer debugShapes = null; @@ -44,8 +44,8 @@ public class GameScreen implements Screen public GameScreen(final ZProject zproject) { this.zproject = zproject; - this.hud = new Hud(zproject.assets); - this.board = new Board(zproject.assets); + this.hud = new GameHud(zproject.assets); + this.board = new GameBoard(zproject.assets); this.batch = new SpriteBatch(); this.camera = new GameCamera(10, board.getWidth(), board.getHeight(), 1.0f, 0.3f, false); Gdx.input.setInputProcessor(getMultiplexer(this)); -- cgit v1.1-2-g2b99