diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2014-10-03 17:28:40 +0200 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2014-10-03 17:28:40 +0200 | 
| commit | 815686901083acc1d416bcdc3c82296761875136 (patch) | |
| tree | 1ff2797d2270acf9c213e45aba202e86bd0d879b /core/src/ch/asynk | |
| parent | ddbdc3cb8a81a83dddf789ae84461b620b4f109f (diff) | |
| download | RustAndDust-815686901083acc1d416bcdc3c82296761875136.zip RustAndDust-815686901083acc1d416bcdc3c82296761875136.tar.gz | |
Board: use getHexAt(pawn.getCenter()) to avoid wrong hex if image is big
Diffstat (limited to 'core/src/ch/asynk')
| -rw-r--r-- | core/src/ch/asynk/tankontank/engine/Board.java | 18 | 
1 files changed, 11 insertions, 7 deletions
| diff --git a/core/src/ch/asynk/tankontank/engine/Board.java b/core/src/ch/asynk/tankontank/engine/Board.java index c98682d..7ebece7 100644 --- a/core/src/ch/asynk/tankontank/engine/Board.java +++ b/core/src/ch/asynk/tankontank/engine/Board.java @@ -458,7 +458,7 @@ public abstract class Board implements Disposable      // public void movePawnTo(Pawn pawn, GridPoint2 coords, Orientation o)      // { -    //     removePawnFrom(pawn, getHexAt(pawn.getLastPosition())); +    //     removePawnFrom(pawn, getHexAt(pawn.getCenter()));      //     pushPawnAt(pawn, coords);      //     Vector2 pos = getPawnPosAt(pawn, coords, null); @@ -467,15 +467,13 @@ public abstract class Board implements Disposable      public void movePawn(final Pawn pawn, Vector<Vector3> path)      { -        removePawnFrom(pawn, getHexAt(pawn.getLastPosition())); - -        final Vector3 finalPos = path.get(path.size() - 1); +        removePawnFrom(pawn, getHexAt(pawn.getCenter()));          AnimationSequence seq = pawn.getMoveAnimation(path);          seq.addAnimation(RunnableAnimation.get(pawn, new Runnable() {              @Override              public void run() { -                pushPawnAt(pawn, getHexAt(finalPos)); +                pushPawnAt(pawn, getHexAt(pawn.getCenter()));              }          }));          addPawnAnimation(pawn, seq); @@ -483,19 +481,25 @@ public abstract class Board implements Disposable      // public void resetPawnMoves(final Pawn pawn)      // { -    //     removePawnFrom(pawn, getHexAt(pawn.getLastPosition())); +    //     removePawnFrom(pawn, getHexAt(pawn.getCenter()));      //     AnimationSequence seq = pawn.getResetMovesAnimation();      //     seq.addAnimation(RunnableAnimation.get(pawn, new Runnable() {      //         @Override      //         public void run() { -    //             GridPoint2 coords = getHexAt(pawn.getLastPosition()); +    //             GridPoint2 coords = getHexAt(pawn.getCenter());      //             pushPawnAt(pawn, coords);      //         }      //     }));      //     addPawnAnimation(pawn, seq);      // } +    private GridPoint2 getHexAt(Vector2 v) +    { +        if (v == null) return null; +        return getHexAt(null, v.x, v.y); +    } +      private GridPoint2 getHexAt(Vector3 v)      {          if (v == null) return null; | 
