diff options
Diffstat (limited to 'core/src/ch')
| -rw-r--r-- | core/src/ch/asynk/tankontank/engine/Pawn.java | 51 | ||||
| -rw-r--r-- | core/src/ch/asynk/tankontank/game/Unit.java | 1 | 
2 files changed, 51 insertions, 1 deletions
| diff --git a/core/src/ch/asynk/tankontank/engine/Pawn.java b/core/src/ch/asynk/tankontank/engine/Pawn.java index 3061346..2bc78e3 100644 --- a/core/src/ch/asynk/tankontank/engine/Pawn.java +++ b/core/src/ch/asynk/tankontank/engine/Pawn.java @@ -4,11 +4,15 @@ import java.util.ArrayDeque;  import com.badlogic.gdx.utils.Disposable; +import com.badlogic.gdx.graphics.g2d.Batch; +import com.badlogic.gdx.graphics.g2d.TextureAtlas;  import com.badlogic.gdx.graphics.g2d.TextureRegion; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer;  import com.badlogic.gdx.math.Vector3;  import ch.asynk.tankontank.engine.gfx.Image; +import ch.asynk.tankontank.engine.gfx.StackedImages;  import ch.asynk.tankontank.engine.gfx.animations.MoveToAnimation;  import ch.asynk.tankontank.engine.gfx.animations.RunnableAnimation;  import ch.asynk.tankontank.engine.gfx.animations.AnimationSequence; @@ -17,11 +21,14 @@ public abstract class Pawn extends Image implements Disposable  {      private static final float MOVE_TIME = 0.3f; +    private StackedImages overlays;      private ArrayDeque<Vector3> path = new ArrayDeque<Vector3>(); -    public Pawn(TextureRegion region) +    public Pawn(TextureRegion region, TextureAtlas atlas)      {          super(region); +        if (atlas != null) +            this.overlays = new StackedImages(atlas);      }      public Vector3 getLastPosition() @@ -65,4 +72,46 @@ public abstract class Pawn extends Image implements Disposable          return seq;      } + +    public boolean hasOverlayEnabled() +    { +        if (overlays == null) return false; +        return overlays.isEnabled(); +    } + +    public boolean enableOverlay(int i, boolean enable) +    { +        if (overlays == null) return false; +        overlays.enable(i, enable); +        if (enable) return true; +        return hasOverlayEnabled(); +    } + +    @Override +    public void translate(float x, float y) +    { +        super.translate(x, y); +        if (overlays != null) overlays.translate(x, y); +    } + +    @Override +    public void setPosition(float x, float y, float z) +    { +        super.setPosition(x, y, z); +        if (overlays != null) overlays.setPosition(x, y, z); +    } + +    @Override +    public void draw(Batch batch, float parentAlpha) +    { +        super.draw(batch, parentAlpha); +        if (overlays != null) overlays.draw(batch, parentAlpha); +    } + +    @Override +    public void drawDebug(ShapeRenderer debugShapes) +    { +        super.drawDebug(debugShapes); +        if (overlays != null) overlays.drawDebug(debugShapes); +    }  } diff --git a/core/src/ch/asynk/tankontank/game/Unit.java b/core/src/ch/asynk/tankontank/game/Unit.java index 31a822d..3a144b2 100644 --- a/core/src/ch/asynk/tankontank/game/Unit.java +++ b/core/src/ch/asynk/tankontank/game/Unit.java @@ -1,6 +1,7 @@  package ch.asynk.tankontank.game;  import com.badlogic.gdx.graphics.g2d.TextureRegion; +import com.badlogic.gdx.graphics.g2d.TextureAtlas;  import ch.asynk.tankontank.engine.Pawn; | 
