package org.anddev.andengine.entity.layer.tiled.tmx; import org.anddev.andengine.opengl.texture.region.TextureRegion; /** * (c) 2010 Nicolas Gramlich * (c) 2011 Zynga Inc. * * @author Nicolas Gramlich * @since 10:39:48 - 05.08.2010 */ public class TMXTile { // =========================================================== // Constants // =========================================================== // =========================================================== // Fields // =========================================================== int mGlobalTileID; private final int mTileRow; private final int mTileColumn; private final int mTileWidth; private final int mTileHeight; TextureRegion mTextureRegion; // =========================================================== // Constructors // =========================================================== public TMXTile(final int pGlobalTileID, final int pTileColumn, final int pTileRow, final int pTileWidth, final int pTileHeight, final TextureRegion pTextureRegion) { this.mGlobalTileID = pGlobalTileID; this.mTileRow = pTileRow; this.mTileColumn = pTileColumn; this.mTileWidth = pTileWidth; this.mTileHeight = pTileHeight; this.mTextureRegion = pTextureRegion; } // =========================================================== // Getter & Setter // =========================================================== public int getGlobalTileID() { return this.mGlobalTileID; } public int getTileRow() { return this.mTileRow; } public int getTileColumn() { return this.mTileColumn; } public int getTileX() { return this.mTileColumn * this.mTileWidth; } public int getTileY() { return this.mTileRow * this.mTileHeight; } public int getTileWidth() { return this.mTileWidth; } public int getTileHeight() { return this.mTileHeight; } public TextureRegion getTextureRegion() { return this.mTextureRegion; } /** * Note this will also set the {@link TextureRegion} with the associated pGlobalTileID of the {@link TMXTiledMap}. * @param pTMXTiledMap * @param pGlobalTileID */ public void setGlobalTileID(final TMXTiledMap pTMXTiledMap, final int pGlobalTileID) { this.mGlobalTileID = pGlobalTileID; this.mTextureRegion = pTMXTiledMap.getTextureRegionFromGlobalTileID(pGlobalTileID); } /** * You'd probably want to call {@link TMXTile#setGlobalTileID(TMXTiledMap, int)} instead. * @param pTextureRegion */ public void setTextureRegion(final TextureRegion pTextureRegion) { this.mTextureRegion = pTextureRegion; } public TMXProperties<TMXTileProperty> getTMXTileProperties(final TMXTiledMap pTMXTiledMap) { return pTMXTiledMap.getTMXTileProperties(this.mGlobalTileID); } // =========================================================== // Methods for/from SuperClass/Interfaces // =========================================================== // =========================================================== // Methods // =========================================================== // =========================================================== // Inner and Anonymous Classes // =========================================================== }