fixed bug where Tiles would be replaced with Fields on PlayerBase.destroy()
This commit is contained in:
parent
55cae38f5f
commit
23271cc086
@ -22,27 +22,29 @@ public class Game {
|
||||
private Game() {}
|
||||
|
||||
public void playerBaseDestroyed(PlayerBase caller) {
|
||||
Field field = new Field();
|
||||
Tile callertile = caller.getCurrentTile();
|
||||
if (caller.getCurrentTile().isGap()) {
|
||||
Field field = new Field();
|
||||
Tile callertile = caller.getCurrentTile();
|
||||
|
||||
field.setX(callertile.getX());
|
||||
field.setY(callertile.getY());
|
||||
field.setX(callertile.getX());
|
||||
field.setY(callertile.getY());
|
||||
|
||||
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.NORTH), Direction.NORTH);
|
||||
callertile.getAdjacentTile(Direction.NORTH).setAdajacentTile(field, Direction.SOUTH);
|
||||
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.NORTH), Direction.NORTH);
|
||||
callertile.getAdjacentTile(Direction.NORTH).setAdajacentTile(field, Direction.SOUTH);
|
||||
|
||||
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.SOUTH), Direction.SOUTH);
|
||||
callertile.getAdjacentTile(Direction.SOUTH).setAdajacentTile(field, Direction.NORTH);
|
||||
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.SOUTH), Direction.SOUTH);
|
||||
callertile.getAdjacentTile(Direction.SOUTH).setAdajacentTile(field, Direction.NORTH);
|
||||
|
||||
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.WEST), Direction.WEST);
|
||||
callertile.getAdjacentTile(Direction.WEST).setAdajacentTile(field, Direction.EAST);
|
||||
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.WEST), Direction.WEST);
|
||||
callertile.getAdjacentTile(Direction.WEST).setAdajacentTile(field, Direction.EAST);
|
||||
|
||||
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.EAST), Direction.EAST);
|
||||
callertile.getAdjacentTile(Direction.EAST).setAdajacentTile(field, Direction.WEST);
|
||||
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.EAST), Direction.EAST);
|
||||
callertile.getAdjacentTile(Direction.EAST).setAdajacentTile(field, Direction.WEST);
|
||||
|
||||
display.gapMagic((Gap)callertile, field, dungeon.getMapWidth());
|
||||
display.gapMagic((Gap) callertile, field, dungeon.getMapWidth());
|
||||
|
||||
Game.instance.updateDisplay();
|
||||
Game.instance.updateDisplay();
|
||||
}
|
||||
}
|
||||
|
||||
public void playerDestroyed(Player caller) {
|
||||
|
@ -11,6 +11,12 @@ public class Gap extends cicaprojekt.Tile {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isGap()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEntry(PlayerBase playerBase) {
|
||||
super.onEntry(playerBase);
|
||||
|
@ -65,6 +65,10 @@ public abstract class Tile {
|
||||
return zpm;
|
||||
}
|
||||
|
||||
public boolean isGap() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void putABox(Box box) {
|
||||
if (box == null)
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user