summaryrefslogtreecommitdiffstats
path: root/core/src/ch/asynk/tankontank
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/ch/asynk/tankontank')
-rw-r--r--core/src/ch/asynk/tankontank/engine/Layer.java127
1 files changed, 0 insertions, 127 deletions
diff --git a/core/src/ch/asynk/tankontank/engine/Layer.java b/core/src/ch/asynk/tankontank/engine/Layer.java
deleted file mode 100644
index c0720c3..0000000
--- a/core/src/ch/asynk/tankontank/engine/Layer.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package ch.asynk.tankontank.engine;
-
-import java.util.LinkedList;
-import java.util.Vector;
-import java.util.Iterator;
-
-import com.badlogic.gdx.Gdx;
-import com.badlogic.gdx.graphics.Camera;
-import com.badlogic.gdx.graphics.g2d.Batch;
-import com.badlogic.gdx.graphics.g2d.SpriteBatch;
-import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
-import com.badlogic.gdx.utils.viewport.Viewport;
-
-import ch.asynk.tankontank.engine.gfx.Node;
-import ch.asynk.tankontank.engine.gfx.Animation;
-
-public class Layer
-{
- public boolean visible;
- private final Viewport viewport;
- private final Batch batch;
- private final Vector<Animation> animations = new Vector<Animation>(5);
- private final Vector<Animation> nextAnimations = new Vector<Animation>(2);
- private final LinkedList<Node> nodes = new LinkedList<Node>();
-
- public Layer(Viewport viewport)
- {
- this.visible = true;
- this.viewport = viewport;
- this.batch = new SpriteBatch();
- viewport.update(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), true);
- }
-
- public void resize(int width, int height)
- {
- viewport.update(width, height);
- }
-
- public void addNode(Node node)
- {
- node.setLayer(this);
- nodes.add(node);
- }
-
- public boolean removeNode(Node node)
- {
- node.setLayer(null);
- return nodes.remove(node);
- }
-
- public void goOnTop(Node node)
- {
- nodes.remove(node);
- node.setLayer(this);
- nodes.add(node);
- }
-
- public void addAnimation(Animation animation)
- {
- nextAnimations.add(animation);
- }
-
- public void act()
- {
- act(Math.min(Gdx.graphics.getDeltaTime(), (1 / 30f)));
- }
-
- public void act(float delta)
- {
- Iterator<Animation> iter = animations.iterator();
- while (iter.hasNext()) {
- Animation a = iter.next();
- Node n = a.getNode();
- if (n != null)
- goOnTop(n);
- if (a.act(delta)) iter.remove();
- }
-
- for (int i = 0, n = nodes.size(); i < n; i++)
- nodes.get(i).act(delta);
-
- for (int i = 0, n = nextAnimations.size(); i < n; i++)
- animations.add(nextAnimations.get(i));
- nextAnimations.clear();
- }
-
- public void draw()
- {
- Camera camera = viewport.getCamera();
- camera.update();
- if (!visible) return;
- Batch batch = this.batch;
- if (batch != null) {
- batch.setProjectionMatrix(camera.combined);
- batch.begin();
- for (int i = 0, n = nodes.size(); i < n; i++)
- nodes.get(i).draw(batch, 1);
- batch.end();
- }
- }
-
- public void drawDebug(ShapeRenderer debugShapes)
- {
- debugShapes.setProjectionMatrix(viewport.getCamera().combined);
- debugShapes.begin();
- for (int i = 0, n = nodes.size(); i < n; i++)
- nodes.get(i).drawDebug(debugShapes);
- debugShapes.end();
- }
-
- public void clear()
- {
- for (int i = 0, n = nodes.size(); i < n; i++)
- nodes.get(i).clear();
- nodes.clear();
-
- for (int i = 0, n = animations.size(); i < n; i++)
- animations.get(i).dispose();
- animations.clear();
-
- for (int i = 0, n = nextAnimations.size(); i < n; i++)
- nextAnimations.get(i).dispose();
- nextAnimations.clear();
-
- batch.dispose();
- }
-}