package tk.amberide.engine.data.map;
import tk.amberide.ide.data.res.Tileset;
import tk.amberide.ide.data.res.Tileset.TileSprite;
/**
*
* @author Tudor
*/
public class Tile implements Cloneable {
public TileSprite getSprite() {
return sprite;
}
public void setSprite(TileSprite sprite) {
this.sprite = sprite;
}
protected TileSprite sprite;
protected Direction dir;
protected Angle angle;
protected TileType type;
public Tile(Tileset.TileSprite sprite, Direction dir, Angle angle, TileType type) {
this.dir = dir;
this.angle = angle;
this.type = type;
this.sprite = sprite;
}
public Tile(Tileset.TileSprite sprite, Direction dir, TileType type) {
this(sprite, dir, Angle.HORIZONTAL, type);
}
public Tile(Tileset.TileSprite sprite, Direction dir, Angle angle) {
this(sprite, dir, angle, TileType.TILE_NORMAL);
}
public Tile(Tileset.TileSprite sprite, Direction dir) {
this(sprite, dir, Angle.HORIZONTAL);
}
/**
* @return the direction
*/
public Direction getDirection() {
return dir;
}
/**
* @param dir the direction to set
*/
public void setDirection(Direction dir) {
this.dir = dir;
}
/**
* @return the angle
*/
public Angle getAngle() {
return angle;
}
/**
* @param dir the direction to set
*/
public void setAngle(Angle angle) {
this.angle = angle;
}
public TileType getType() {
return type;
}
@Override
public Tile clone() {
return new Tile(sprite, dir, angle, type);
}
}