From c8b39965efe2dc0c5a28fb707e9f9531057d8858 Mon Sep 17 00:00:00 2001 From: gered Date: Sun, 4 Aug 2013 10:45:59 -0400 Subject: [PATCH] add new interface for Tile containers which actually keep the array of Tile objects themselves --- src/com/blarg/gdx/tilemap3d/TileChunk.java | 3 ++- .../blarg/gdx/tilemap3d/TileRawDataContainer.java | 12 ++++++++++++ src/com/blarg/gdx/tilemap3d/prefabs/TilePrefab.java | 8 +++++++- 3 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 src/com/blarg/gdx/tilemap3d/TileRawDataContainer.java diff --git a/src/com/blarg/gdx/tilemap3d/TileChunk.java b/src/com/blarg/gdx/tilemap3d/TileChunk.java index 80a67b2..1ffd4f5 100644 --- a/src/com/blarg/gdx/tilemap3d/TileChunk.java +++ b/src/com/blarg/gdx/tilemap3d/TileChunk.java @@ -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; } diff --git a/src/com/blarg/gdx/tilemap3d/TileRawDataContainer.java b/src/com/blarg/gdx/tilemap3d/TileRawDataContainer.java new file mode 100644 index 0000000..f091feb --- /dev/null +++ b/src/com/blarg/gdx/tilemap3d/TileRawDataContainer.java @@ -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); +} diff --git a/src/com/blarg/gdx/tilemap3d/prefabs/TilePrefab.java b/src/com/blarg/gdx/tilemap3d/prefabs/TilePrefab.java index 0836544..48129a8 100644 --- a/src/com/blarg/gdx/tilemap3d/prefabs/TilePrefab.java +++ b/src/com/blarg/gdx/tilemap3d/prefabs/TilePrefab.java @@ -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;