use of de.gurkenlabs.litiengine.environment.tilemap.ITileLayer in project litiengine by gurkenlabs.
the class TmxMap method updateDimensionsByTileLayers.
/**
* Update width and height by the max width and height of the tile layers in the infinite map.
*/
private void updateDimensionsByTileLayers() {
int minChunkOffsetX = 0;
int minChunkOffsetY = 0;
int w = 0;
int h = 0;
for (ITileLayer tileLayer : this.tileLayers) {
if (!(tileLayer instanceof TileLayer)) {
continue;
}
TileLayer layer = (TileLayer) tileLayer;
if (layer.getRawTileData() != null && layer.getRawTileData().getOffsetX() < minChunkOffsetX) {
minChunkOffsetX = layer.getRawTileData().getOffsetX();
}
if (layer.getRawTileData() != null && layer.getRawTileData().getOffsetY() < minChunkOffsetY) {
minChunkOffsetY = layer.getRawTileData().getOffsetY();
}
}
// locating their chunks in it
for (ITileLayer tileLayer : this.tileLayers) {
if (!(tileLayer instanceof TileLayer)) {
continue;
}
TileLayer layer = (TileLayer) tileLayer;
if (layer.getRawTileData() != null) {
layer.getRawTileData().setMinChunkOffsets(minChunkOffsetX, minChunkOffsetY);
}
if (tileLayer.getWidth() > w) {
w = tileLayer.getWidth();
}
if (tileLayer.getHeight() > h) {
h = tileLayer.getHeight();
}
}
this.chunkOffsetX = minChunkOffsetX;
this.chunkOffsetY = minChunkOffsetY;
this.width = w;
this.height = h;
}
Aggregations