add new interface for Tile containers which actually keep the array of Tile objects themselves

This commit is contained in:
Gered 2013-08-04 10:45:59 -04:00
parent 1f961356b0
commit c8b39965ef
3 changed files with 21 additions and 2 deletions

View file

@ -5,7 +5,7 @@ import com.badlogic.gdx.math.Vector3;
import com.badlogic.gdx.math.collision.BoundingBox;
import com.badlogic.gdx.utils.Disposable;
public class TileChunk extends TileContainer implements Disposable {
public class TileChunk extends TileContainer implements TileRawDataContainer, Disposable {
final int x;
final int y;
final int z;
@ -23,6 +23,7 @@ public class TileChunk extends TileContainer implements Disposable {
public TileChunkMesh alphaMesh;
public final TileMap tileMap;
@Override
public Tile[] getData() {
return data;
}

View file

@ -0,0 +1,12 @@
package com.blarg.gdx.tilemap3d;
public interface TileRawDataContainer {
Tile[] getData();
int getWidth();
int getHeight();
int getDepth();
Tile get(int x, int y, int z);
Tile getSafe(int x, int y, int z);
}

View file

@ -5,8 +5,9 @@ import com.badlogic.gdx.math.collision.BoundingBox;
import com.blarg.gdx.Bitfield;
import com.blarg.gdx.tilemap3d.Tile;
import com.blarg.gdx.tilemap3d.TileContainer;
import com.blarg.gdx.tilemap3d.TileRawDataContainer;
public class TilePrefab extends TileContainer {
public class TilePrefab extends TileContainer implements TileRawDataContainer {
public enum Rotation {
ROT0(0),
ROT90(90),
@ -43,6 +44,11 @@ public class TilePrefab extends TileContainer {
final BoundingBox rotationBounds = new BoundingBox();
final BoundingBox tmpRotationBounds = new BoundingBox();
@Override
public Tile[] getData() {
return new Tile[0];
}
@Override
public int getWidth() {
return width;