64 lines
2.5 KiB
Java
64 lines
2.5 KiB
Java
package cicaprojekt;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
public abstract class Tile {
|
|
protected Map<Direction, Tile> adjacentTile;
|
|
private Pickable itemOnTile;
|
|
|
|
|
|
public Tile(){
|
|
Menu.addTab();
|
|
System.out.println(">" + "[" + ":" + this.getClass().getSimpleName() + "]" + Menu.tabulator + "Tile.Tile()");
|
|
adjacentTile = new HashMap<Direction, Tile>();
|
|
|
|
adjacentTile.put(Direction.NORTH, Field.testField);
|
|
adjacentTile.put(Direction.EAST, Field.testField);
|
|
adjacentTile.put(Direction.SOUTH, Field.testField);
|
|
adjacentTile.put(Direction.WEST, Field.testField);
|
|
itemOnTile = new Box();
|
|
System.out.println("<" + "[" + ":" + this.getClass().getSimpleName() + "]" + Menu.tabulator + "Tile.Tile()");
|
|
Menu.removeTab();
|
|
}
|
|
|
|
public Tile getAdjacentTile(Direction direction) {
|
|
Menu.addTab();
|
|
System.out.println(">" + "[" + ":" + this.getClass().getSimpleName() + "]" + Menu.tabulator + "Tile.getAdjacentTile(" + direction.name() + ")");
|
|
System.out.println("<" + "[" + ":" + this.getClass().getSimpleName() + "]" + Menu.tabulator + "Tile.getAdjacentTile(" + direction.name() + ")");
|
|
Menu.removeTab();
|
|
return adjacentTile.get(direction);
|
|
}
|
|
|
|
public void setAdajacentTile(Tile newTile, Direction direction) {
|
|
Menu.addTab();
|
|
System.out.println(">" + "[" + ":" + this.getClass().getSimpleName() + "]" + Menu.tabulator + "Tile.setAdjacentTile(" + "newTile, " + direction.name() + ")");
|
|
System.out.println("<" + "[" + ":" + this.getClass().getSimpleName() + "]" + Menu.tabulator + "Tile.setAdjacentTile(" + "newTile, " + direction.name() + ")");
|
|
Menu.removeTab();
|
|
}
|
|
public abstract void spawnStargate(Stargate stargate, Direction direction);
|
|
|
|
public abstract void onEntry();
|
|
|
|
public abstract void onExit();
|
|
|
|
public Pickable removeItemFromTile() {
|
|
Menu.addTab();
|
|
System.out.println(">" + "[" + ":" + this.getClass().getSimpleName() + "]" + Menu.tabulator + "Tile.removeItemFromTile()");
|
|
Pickable item = itemOnTile;
|
|
itemOnTile = null;
|
|
System.out.println("<" + "[" + ":" + this.getClass().getSimpleName() + "]" + Menu.tabulator + "Tile.removeItemFromTile()");
|
|
Menu.removeTab();
|
|
return item;
|
|
}
|
|
|
|
public void setItemOnTile(Pickable item) {
|
|
Menu.addTab();
|
|
System.out.println(">" + "[" + ":" + this.getClass().getSimpleName() + "]" + Menu.tabulator + "Tile.setItemOnTile(" + "item" + ")");
|
|
itemOnTile = item;
|
|
System.out.println("<" + "[" + ":" + this.getClass().getSimpleName() + "]" + Menu.tabulator + "Tile.setItemOnTile(" + "item" + ")");
|
|
Menu.removeTab();
|
|
|
|
}
|
|
}
|