diff options
Diffstat (limited to 'core/src/ch')
| -rw-r--r-- | core/src/ch/asynk/tankontank/game/hud/Engagement.java | 50 | 
1 files changed, 42 insertions, 8 deletions
| diff --git a/core/src/ch/asynk/tankontank/game/hud/Engagement.java b/core/src/ch/asynk/tankontank/game/hud/Engagement.java index 9180a26..6522bde 100644 --- a/core/src/ch/asynk/tankontank/game/hud/Engagement.java +++ b/core/src/ch/asynk/tankontank/game/hud/Engagement.java @@ -57,6 +57,26 @@ public class Engagement extends Patch implements Animation          this.d4Animation = new DiceAnimation();      } +    public void updatePosition() +    { +        if (!visible) return; +        float dx = (position.getX(rect.width) - rect.x); +        float dy = (position.getY(rect.height) - rect.y); +        translate(dx, dy); +        winner.translate(dx, dy); +        attackImg.translate(dx, dy); +        defenseImg.translate(dx, dy); +        attack.translate(dx, dy); +        defense.translate(dx, dy); +        attackR.translate(dx, dy); +        defenseR.translate(dx, dy); +        okBtn.translate(dx, dy); +        d1Animation.translate(dx, dy); +        d2Animation.translate(dx, dy); +        d3Animation.translate(dx, dy); +        d4Animation.translate(dx, dy); +    } +      public void show(Map.Engagement e, Position position, float volume)      {          DiceAnimation.initSound(volume); @@ -72,6 +92,24 @@ public class Engagement extends Patch implements Animation          else              winner = ((e.attacker == Army.US) ? geFlag : usFlag); + +        reroll = (e.d3 != 0); +        delay = 0f; +        d1Animation.set(e.d1); +        d2Animation.set(e.d2); +        if (reroll) { +            d3Animation.set(e.d3); +            d4Animation.set(e.d4); +        } + +        this.position = position; +        placeElements(); + +        visible = true; +    } + +    private void placeElements() +    {          float w = attackR.getWidth();          float w2 = defenseR.getWidth();          if (w2 > w) @@ -99,22 +137,18 @@ public class Engagement extends Patch implements Animation          y += defenseImg.getHeight() + VSPACING;          attackImg.setPosition(x, y);          x += (attackImg.getWidth() + HSPACING); -        d1Animation.set(e.d1, x, y); +        d1Animation.setPosition(x, y);          x += (d1Animation.getWidth() + HSPACING); -        d2Animation.set(e.d2, x, (y)); +        d2Animation.setPosition(x, (y));          x += (d1Animation.getWidth() + HSPACING);          y = (y + (attackImg.getHeight() / 2f) - (attack.getHeight() / 2f));          attack.setPosition(x, y);          attackR.setPosition(defenseR.getX(), y); -        reroll = (e.d3 != 0); -        delay = 0f;          if (reroll) { -            d3Animation.set(e.d3, x, y); -            d4Animation.set(e.d4, x, y); +            d3Animation.setPosition(x, y); +            d4Animation.setPosition(x, y);          } - -        visible = true;      }      private void reroll() | 
