diff options
Diffstat (limited to 'core/src/ch/asynk')
4 files changed, 39 insertions, 27 deletions
diff --git a/core/src/ch/asynk/gdx/boardgame/animations/AnimationSequence.java b/core/src/ch/asynk/gdx/boardgame/animations/AnimationSequence.java index 88bb15b..8aa6b06 100644 --- a/core/src/ch/asynk/gdx/boardgame/animations/AnimationSequence.java +++ b/core/src/ch/asynk/gdx/boardgame/animations/AnimationSequence.java @@ -2,7 +2,6 @@ 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; @@ -76,9 +75,4 @@ public class AnimationSequence implements Animation, Pool.Poolable              animations.get(0).draw(batch);          }      } - -    @Override public void drawDebug(ShapeRenderer debugShapes) -    { -        animations.get(0).drawDebug(debugShapes); -    }  } diff --git a/core/src/ch/asynk/gdx/boardgame/animations/BounceAnimation.java b/core/src/ch/asynk/gdx/boardgame/animations/BounceAnimation.java index 271728c..432d0d7 100644 --- a/core/src/ch/asynk/gdx/boardgame/animations/BounceAnimation.java +++ b/core/src/ch/asynk/gdx/boardgame/animations/BounceAnimation.java @@ -4,11 +4,10 @@ import java.lang.Math;  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.pieces.Piece; -public class BounceAnimation extends TimedAnimation +public class BounceAnimation extends TimedAnimation implements Pool.Poolable  {      private static final Pool<BounceAnimation> bounceAnimationPool = new Pool<BounceAnimation>()      { @@ -40,14 +39,6 @@ public class BounceAnimation extends TimedAnimation      {      } -    public BounceAnimation(Piece piece, float duration, float bounceFactor, int rotations) -    { -        this.piece = piece; -        this.bounceFactor = bounceFactor; -        this.setDuration(duration); -        this.computeRotationDegrees(rotations); -    } -      private void computeRotationDegrees(int rotations)      {          if (rotations == 0) { @@ -57,6 +48,11 @@ public class BounceAnimation extends TimedAnimation          }      } +    @Override public void reset() +    { +        super.reset(); +    } +      @Override public void dispose()      {          bounceAnimationPool.free(this); @@ -88,8 +84,4 @@ public class BounceAnimation extends TimedAnimation      {          piece.draw(batch);      } - -    @Override public void drawDebug(ShapeRenderer debugShapes) -    { -    }  } diff --git a/core/src/ch/asynk/gdx/boardgame/animations/DelayAnimation.java b/core/src/ch/asynk/gdx/boardgame/animations/DelayAnimation.java index 8baa9b1..0d20cae 100644 --- a/core/src/ch/asynk/gdx/boardgame/animations/DelayAnimation.java +++ b/core/src/ch/asynk/gdx/boardgame/animations/DelayAnimation.java @@ -1,23 +1,49 @@  package ch.asynk.gdx.boardgame.animations; +import com.badlogic.gdx.utils.Pool;  import com.badlogic.gdx.graphics.g2d.Batch;  import ch.asynk.gdx.boardgame.Drawable; -public class DelayAnimation extends TimedAnimation +public class DelayAnimation extends TimedAnimation implements Pool.Poolable  { +    private static final Pool<DelayAnimation> delayAnimationPool = new Pool<DelayAnimation>() +    { +        @Override protected DelayAnimation newObject() +        { +            return new DelayAnimation(); +        } +    }; + +    public static DelayAnimation get(Drawable drawable, float duration) +    { +        DelayAnimation a = delayAnimationPool.obtain(); + +        a.drawable = drawable; +        a.setDuration(duration); + +        return a; +    } +      private Drawable drawable; -    public DelayAnimation(Drawable drawable, float duration) +    private DelayAnimation() +    { +    } + +    @Override public void reset() +    { +        super.reset(); +    } + +    @Override public void dispose()      { -        this.drawable = drawable; -        setDuration(duration); +        delayAnimationPool.free(this);      }      @Override protected void begin() { }      @Override protected void end() { }      @Override protected void update(float percent) { } -    @Override public void dispose() { }      @Override public void draw(Batch batch)      { diff --git a/core/src/ch/asynk/gdx/boardgame/animations/TimedAnimation.java b/core/src/ch/asynk/gdx/boardgame/animations/TimedAnimation.java index 9540507..3d35dd9 100644 --- a/core/src/ch/asynk/gdx/boardgame/animations/TimedAnimation.java +++ b/core/src/ch/asynk/gdx/boardgame/animations/TimedAnimation.java @@ -2,7 +2,7 @@ package ch.asynk.gdx.boardgame.animations;  import com.badlogic.gdx.utils.Pool; -public abstract class TimedAnimation implements Animation, Pool.Poolable +public abstract class TimedAnimation implements Animation  {      private float dp;      private float percent; @@ -16,7 +16,7 @@ public abstract class TimedAnimation implements Animation, Pool.Poolable          dp = 1f / duration;      } -    @Override public void reset() +    public void reset()      {          percent = 0f;      }  | 
