diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2014-09-21 10:06:53 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2014-09-21 10:06:53 +0200 |
commit | f7264e865d49673df59c6f8f08e323db41f8894b (patch) | |
tree | 7312915c4d916c7b572e98b849c378cb0ecee040 /core/src/ch/asynk/tankontank/game/Map.java | |
parent | 8d43e91dcf005cf076fb3cd571f6125df5837c8d (diff) | |
download | RustAndDust-f7264e865d49673df59c6f8f08e323db41f8894b.zip RustAndDust-f7264e865d49673df59c6f8f08e323db41f8894b.tar.gz |
update Map,Hex,Unit extends Board,Tile,Pawn fix GameScreen
Diffstat (limited to 'core/src/ch/asynk/tankontank/game/Map.java')
-rw-r--r-- | core/src/ch/asynk/tankontank/game/Map.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/core/src/ch/asynk/tankontank/game/Map.java b/core/src/ch/asynk/tankontank/game/Map.java new file mode 100644 index 0000000..9eef409 --- /dev/null +++ b/core/src/ch/asynk/tankontank/game/Map.java @@ -0,0 +1,41 @@ +package ch.asynk.tankontank.game; + +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.math.GridPoint2; + +import ch.asynk.tankontank.engine.Board; +import ch.asynk.tankontank.engine.Pawn; + +public class Map extends Board +{ + private Pawn currentPawn; + private GridPoint2 currentHex = new GridPoint2(-1, -1); + + public Map(Board.Config cfg, Hex[][] board, Texture texture) + { + super(cfg, board, texture); + } + + public boolean drag(float dx, float dy) + { + if (currentPawn == null) return false; + currentPawn.translate(dx, dy); + return true; + } + + public void touchDown(float x, float y) + { + getHexAt(currentHex, x, y); + if (currentHex.x != -1) { + currentPawn = getTopPawnAt(currentHex); + } + } + + public void touchUp(float x, float y) + { + getHexAt(currentHex, x, y); + if (currentPawn != null) { + movePawnTo(currentPawn, currentHex); + } + } +} |