diff options
Diffstat (limited to 'core')
8 files changed, 88 insertions, 0 deletions
| diff --git a/core/src/ch/asynk/gdx/boardgame/FramedSprite.java b/core/src/ch/asynk/gdx/boardgame/FramedSprite.java index 1f60f9c..8fc2e80 100644 --- a/core/src/ch/asynk/gdx/boardgame/FramedSprite.java +++ b/core/src/ch/asynk/gdx/boardgame/FramedSprite.java @@ -3,6 +3,7 @@ package ch.asynk.gdx.boardgame;  import com.badlogic.gdx.graphics.Texture;  import com.badlogic.gdx.graphics.g2d.Batch;  import com.badlogic.gdx.graphics.g2d.TextureRegion; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer;  public class FramedSprite implements Drawable, Positionable  { @@ -101,4 +102,18 @@ public class FramedSprite implements Drawable, Positionable      {          batch.draw(frame, x, y, 0, 0, frame.getRegionWidth(), frame.getRegionHeight(), 1f, 1f, r);      } + +    @Override public void drawDebug(ShapeRenderer shapeRenderer) +    { +        shapeRenderer.end(); +        shapeRenderer.begin(ShapeRenderer.ShapeType.Line); +        shapeRenderer.identity(); +        shapeRenderer.translate(x, y, 0); +        shapeRenderer.rotate(0, 0, 1, r); +        shapeRenderer.translate(-x, -y, 0); +        shapeRenderer.rect(x, y, frame.getRegionWidth(), frame.getRegionHeight()); +        shapeRenderer.end(); +        shapeRenderer.begin(ShapeRenderer.ShapeType.Line); +        shapeRenderer.identity(); +    }  } diff --git a/core/src/ch/asynk/gdx/boardgame/Overlays.java b/core/src/ch/asynk/gdx/boardgame/Overlays.java index 392d1cd..5746630 100644 --- a/core/src/ch/asynk/gdx/boardgame/Overlays.java +++ b/core/src/ch/asynk/gdx/boardgame/Overlays.java @@ -3,6 +3,7 @@ package ch.asynk.gdx.boardgame;  import com.badlogic.gdx.graphics.g2d.Sprite;  import com.badlogic.gdx.graphics.g2d.Batch;  import com.badlogic.gdx.graphics.g2d.TextureAtlas; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer;  import com.badlogic.gdx.utils.Array;  import ch.asynk.gdx.boardgame.Drawable; @@ -120,4 +121,18 @@ public class Overlays implements Drawable, Positionable, Rotable, Scalable              }          }      } + +    @Override public void drawDebug(ShapeRenderer shapeRenderer) +    { +        if (!isEnabled) return; +        for (int i = 0, n = sprites.size; i < n; i++) { +            if (enabled[i]) { +                final Sprite sprite = sprites.get(i); +                float w = sprite.getWidth(); +                float h = sprite.getHeight(); +                shapeRenderer.rect(sprite.getX(), sprite.getY(), (w / 2f), (h / 2f), w, h, sprite.getScaleX(), sprite.getScaleY(), sprite.getRotation()); +                return; +            } +        } +    }  } diff --git a/core/src/ch/asynk/gdx/boardgame/Piece.java b/core/src/ch/asynk/gdx/boardgame/Piece.java index 5008d9a..275ea58 100644 --- a/core/src/ch/asynk/gdx/boardgame/Piece.java +++ b/core/src/ch/asynk/gdx/boardgame/Piece.java @@ -4,6 +4,7 @@ import java.lang.Math;  import com.badlogic.gdx.graphics.Texture;  import com.badlogic.gdx.graphics.g2d.Sprite; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer;  import com.badlogic.gdx.math.Vector3;  import com.badlogic.gdx.math.Vector2;  import com.badlogic.gdx.math.MathUtils; @@ -69,4 +70,11 @@ public class Piece extends Sprite implements Drawable, Positionable, Rotable, Sc      {          v.set(getX()+ (getWidth() / 2f), getY() + (getHeight() / 2f));      } + +    @Override public void drawDebug(ShapeRenderer shapeRenderer) +    { +        float w = getWidth(); +        float h = getHeight(); +        shapeRenderer.rect(getX(), getY(), (w / 2f), (h / 2f), w, h, getScaleX(), getScaleY(), getRotation()); +    }  } diff --git a/core/src/ch/asynk/gdx/boardgame/Tile.java b/core/src/ch/asynk/gdx/boardgame/Tile.java index dda0307..d051cef 100644 --- a/core/src/ch/asynk/gdx/boardgame/Tile.java +++ b/core/src/ch/asynk/gdx/boardgame/Tile.java @@ -2,6 +2,7 @@ package ch.asynk.gdx.boardgame;  import com.badlogic.gdx.graphics.g2d.Batch;  import com.badlogic.gdx.graphics.g2d.TextureAtlas; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer;  import ch.asynk.gdx.boardgame.Overlays; @@ -41,4 +42,11 @@ public class Tile implements Drawable      {          return "[" + x + ", " + y + "]";      } + +    @Override public void drawDebug(ShapeRenderer shapeRenderer) +    { +        if (overlays != null) { +            overlays.drawDebug(shapeRenderer); +        } +    }  } diff --git a/core/src/ch/asynk/gdx/boardgame/animations/AnimationBatch.java b/core/src/ch/asynk/gdx/boardgame/animations/AnimationBatch.java index 9fdcfb9..1bc047f 100644 --- a/core/src/ch/asynk/gdx/boardgame/animations/AnimationBatch.java +++ b/core/src/ch/asynk/gdx/boardgame/animations/AnimationBatch.java @@ -2,6 +2,7 @@ package ch.asynk.gdx.boardgame.animations;  import com.badlogic.gdx.utils.Pool;  import com.badlogic.gdx.graphics.g2d.Batch; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer;  import ch.asynk.gdx.boardgame.utils.IterableArray; @@ -78,4 +79,13 @@ public class AnimationBatch implements Animation, Pool.Poolable              }          }      } + +    @Override public void drawDebug(ShapeRenderer shapeRenderer) +    { +        if (!completed()) { +            for (Animation animation : animations) { +                animation.drawDebug(shapeRenderer); +            } +        } +    }  } diff --git a/core/src/ch/asynk/gdx/boardgame/animations/AnimationSequence.java b/core/src/ch/asynk/gdx/boardgame/animations/AnimationSequence.java index 0569a40..08091d2 100644 --- a/core/src/ch/asynk/gdx/boardgame/animations/AnimationSequence.java +++ b/core/src/ch/asynk/gdx/boardgame/animations/AnimationSequence.java @@ -2,6 +2,7 @@ package ch.asynk.gdx.boardgame.animations;  import com.badlogic.gdx.utils.Pool;  import com.badlogic.gdx.graphics.g2d.Batch; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer;  import ch.asynk.gdx.boardgame.utils.IterableArray; @@ -75,4 +76,11 @@ public class AnimationSequence implements Animation, Pool.Poolable              animations.get(0).draw(batch);          }      } + +    @Override public void drawDebug(ShapeRenderer shapeRenderer) +    { +        if (!completed()) { +            animations.get(0).drawDebug(shapeRenderer); +        } +    }  } diff --git a/core/src/ch/asynk/gdx/boardgame/animations/FireAnimation.java b/core/src/ch/asynk/gdx/boardgame/animations/FireAnimation.java index a8b4546..6e44d40 100644 --- a/core/src/ch/asynk/gdx/boardgame/animations/FireAnimation.java +++ b/core/src/ch/asynk/gdx/boardgame/animations/FireAnimation.java @@ -3,6 +3,7 @@ package ch.asynk.gdx.boardgame.animations;  import com.badlogic.gdx.audio.Sound;  import com.badlogic.gdx.graphics.Texture;  import com.badlogic.gdx.graphics.g2d.Batch; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer;  import com.badlogic.gdx.math.Vector2;  import com.badlogic.gdx.utils.ObjectMap;  import com.badlogic.gdx.utils.Pool; @@ -187,4 +188,15 @@ public class FireAnimation implements Animation, Pool.Poolable              }          }      } + +    @Override public void drawDebug(ShapeRenderer shapeRenderer) +    { +        if (single) { +            this.shot.drawDebug(shapeRenderer); +        } else { +            for (ShotAnimation shot : this.shots) { +                shot.drawDebug(shapeRenderer); +            } +        } +    }  } diff --git a/core/src/ch/asynk/gdx/boardgame/animations/ShotAnimation.java b/core/src/ch/asynk/gdx/boardgame/animations/ShotAnimation.java index 890b6a4..ad2d198 100644 --- a/core/src/ch/asynk/gdx/boardgame/animations/ShotAnimation.java +++ b/core/src/ch/asynk/gdx/boardgame/animations/ShotAnimation.java @@ -4,6 +4,7 @@ import java.util.Random;  import com.badlogic.gdx.audio.Sound;  import com.badlogic.gdx.graphics.g2d.Batch; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer;  import com.badlogic.gdx.math.MathUtils;  import com.badlogic.gdx.utils.Pool; @@ -183,4 +184,15 @@ public class ShotAnimation extends TimedAnimation implements Drawable, Pool.Pool              this.explosionSprites.draw(batch);          }      } + +    @Override public void drawDebug(ShapeRenderer shapeRenderer) +    { +        if (drawFire) { +            this.shellSprites.drawDebug(shapeRenderer); +        } + +        if (drawExplosion) { +            this.explosionSprites.drawDebug(shapeRenderer); +        } +    }  } | 
