package tk.amberide.engine.data.map; import java.util.LinkedList; import java.util.List; /** * @author Tudor */ public class LevelMap implements Cloneable { public static final short MAP_VERSION = 0x01; private LinkedList<Layer> layers = new LinkedList<Layer>(); private int width, length; public LevelMap(int width, int length) { this.width = width; this.length = length; } public LevelMap clone() { LevelMap clone = new LevelMap(width, length); clone.layers = new LinkedList<Layer>(); for (int i = 0; i != layers.size(); i++) { clone.layers.add(layers.get(i).clone()); } return clone; } public List<Layer> getLayers() { return layers; } public Layer getLayer(int layer) { return layers.get(layer); } public void addLayer(Layer layer) { layers.add(layer); } public boolean removeLayer(Layer layer) { return layers.remove(layer); } public Layer removeLayer(int index) { return layers.remove(index); } public void insertLayer(int index, Layer layer) { layers.add(index, layer); } public int getWidth() { return width; } public int getLength() { return length; } @Override public String toString() { return "LevelMap{" + "width=" + width + ", length=" + length + '}'; } }