diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2014-10-22 12:04:53 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2014-10-22 12:04:53 +0200 |
commit | 6b75f8772de1783643ca7825226b1a6b844793ac (patch) | |
tree | f27454a0a65fa94a9e9c65f43d314f389aefcf0b /core/src/ch/asynk/tankontank/engine | |
parent | 66daac0daac4016c61a88bdcb2723976f5848b69 (diff) | |
download | RustAndDust-6b75f8772de1783643ca7825226b1a6b844793ac.zip RustAndDust-6b75f8772de1783643ca7825226b1a6b844793ac.tar.gz |
Tile: replace Vector2 center with int col, row; float x, y;
Diffstat (limited to 'core/src/ch/asynk/tankontank/engine')
-rw-r--r-- | core/src/ch/asynk/tankontank/engine/Board.java | 9 | ||||
-rw-r--r-- | core/src/ch/asynk/tankontank/engine/Pawn.java | 10 | ||||
-rw-r--r-- | core/src/ch/asynk/tankontank/engine/Tile.java | 22 |
3 files changed, 24 insertions, 17 deletions
diff --git a/core/src/ch/asynk/tankontank/engine/Board.java b/core/src/ch/asynk/tankontank/engine/Board.java index 94cb083..07c3c8b 100644 --- a/core/src/ch/asynk/tankontank/engine/Board.java +++ b/core/src/ch/asynk/tankontank/engine/Board.java @@ -32,7 +32,7 @@ public abstract class Board implements Disposable public interface TileBuilder { - public Tile getNewTile(float cx, float cy); + public Tile getNewTile(float x, float y, int col, int row); } public static class Config @@ -115,7 +115,7 @@ public abstract class Board implements Disposable float x = cfg.x0 + cfg.dw; if (!evenRow) x += cfg.dw; for ( int j = 0; j < cfg.cols; j ++) { - this.tiles[idx] = tileBuilder.getNewTile(x, y); + this.tiles[idx] = tileBuilder.getNewTile(x, y, (j + ((i + 1) / 2)), i); idx += 1; x += cfg.w; } @@ -545,8 +545,9 @@ public abstract class Board implements Disposable protected Vector2 getPawnPosAt(Pawn pawn, GridPoint2 coords, Vector2 pos) { - Vector2 center = getTile(coords).getCenter(); - return pawn.getPosAt(center, pos); + // FIXME the pawn should return its Vector3 + Tile tile = getTile(coords); + return pawn.getPosAt(tile.getX(), tile.getY(), pos); } public Pawn setPawnAt(Pawn pawn, GridPoint2 coords, Orientation o) diff --git a/core/src/ch/asynk/tankontank/engine/Pawn.java b/core/src/ch/asynk/tankontank/engine/Pawn.java index c21a088..bde5f0c 100644 --- a/core/src/ch/asynk/tankontank/engine/Pawn.java +++ b/core/src/ch/asynk/tankontank/engine/Pawn.java @@ -131,14 +131,14 @@ public abstract class Pawn implements Moveable, Disposable return new Vector2(x, y); } - public Vector2 getPosAt(Vector2 center, Vector2 pos) + public Vector2 getPosAt(float x, float y, Vector2 pos) { - float x = (center.x - (image.getWidth() / 2f)); - float y = (center.y - (image.getHeight() / 2f)); + float cx = (x - (image.getWidth() / 2f)); + float cy = (y - (image.getHeight() / 2f)); if (pos == null) - return new Vector2(x, y); + return new Vector2(cx, cy); else - pos.set(x, y); + pos.set(cx, cy); return pos; } diff --git a/core/src/ch/asynk/tankontank/engine/Tile.java b/core/src/ch/asynk/tankontank/engine/Tile.java index 88edd4f..f1e2c12 100644 --- a/core/src/ch/asynk/tankontank/engine/Tile.java +++ b/core/src/ch/asynk/tankontank/engine/Tile.java @@ -16,7 +16,10 @@ import ch.asynk.tankontank.engine.gfx.StackedImages; public abstract class Tile implements Drawable, Disposable { - private Vector2 center; + protected int col; + protected int row; + protected float x; + protected float y; private StackedImages overlays; private ArrayDeque<Pawn> stack; @@ -32,14 +35,22 @@ public abstract class Tile implements Drawable, Disposable { } - public Tile(float x, float y, TextureAtlas atlas) + public Tile(float x, float y, int col, int row, TextureAtlas atlas) { this.stack = null; - this.center = new Vector2(x, y); + this.x = x; + this.y = y; + this.col = col; + this.row = row; this.overlays = new StackedImages(atlas); this.overlays.centerOn(x, y); } + public float getX() { return x; } + public float getY() { return y; } + public int getCol() { return col; } + public int getRow() { return row; } + @Override public void dispose() { @@ -47,11 +58,6 @@ public abstract class Tile implements Drawable, Disposable overlays.dispose(); } - public Vector2 getCenter() - { - return center; - } - public boolean isEmpty() { if (stack == null) return true; |