Compare commits
2 Commits
657c7bab9e
...
12c57e1c3c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
12c57e1c3c | ||
|
|
52a59d2808 |
@@ -29,7 +29,6 @@ public class DoorTile extends Tile implements Ticker {
|
|||||||
if (dist < 0.5f) {
|
if (dist < 0.5f) {
|
||||||
if (!waitForLeave) {
|
if (!waitForLeave) {
|
||||||
Main.instance.getWorld().changeMap(this);
|
Main.instance.getWorld().changeMap(this);
|
||||||
waitForLeave = true;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
waitForLeave = false;
|
waitForLeave = false;
|
||||||
@@ -62,10 +61,15 @@ public class DoorTile extends Tile implements Ticker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Tile clone() {
|
public DoorTile clone() {
|
||||||
DoorTile t = new DoorTile(posX, posY, map);
|
DoorTile t = new DoorTile(posX, posY, map);
|
||||||
t.setConnectedDoor(connected);
|
t.setConnectedDoor(connected);
|
||||||
t.side = side;
|
t.side = side;
|
||||||
|
t.map = map;
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setMap(ImageMap map) {
|
||||||
|
this.map = map;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,11 +27,9 @@ public class World extends Knoten {
|
|||||||
ImageMap start = new ImageMap("/res/images/maps/map2a.png");
|
ImageMap start = new ImageMap("/res/images/maps/map2a.png");
|
||||||
dungeon.add(start);
|
dungeon.add(start);
|
||||||
currentMap = start;
|
currentMap = start;
|
||||||
currentMap.start();
|
|
||||||
|
|
||||||
start.generate(dungeon, DoorTile.BOTTOM);
|
start.generate(dungeon, DoorTile.BOTTOM);
|
||||||
System.out.println("generated!");
|
System.out.println("generated!");
|
||||||
|
currentMap.start();
|
||||||
|
|
||||||
player = new Player();
|
player = new Player();
|
||||||
currentMap.getEntities().add(player);
|
currentMap.getEntities().add(player);
|
||||||
@@ -55,10 +53,10 @@ public class World extends Knoten {
|
|||||||
currentMap.entfernen(player.actionFigur);
|
currentMap.entfernen(player.actionFigur);
|
||||||
entfernen(currentMap);
|
entfernen(currentMap);
|
||||||
currentMap = door.getConnectedDoor().getMap();
|
currentMap = door.getConnectedDoor().getMap();
|
||||||
currentMap.add(player.actionFigur);
|
|
||||||
add(currentMap);
|
add(currentMap);
|
||||||
|
currentMap.add(player.actionFigur);
|
||||||
currentMap.start();
|
currentMap.start();
|
||||||
door.getConnectedDoor().waitForLeave();
|
|
||||||
player.setPos(door.getConnectedDoor().posX + 0.5f, door.getConnectedDoor().posY + 0.5f);
|
player.setPos(door.getConnectedDoor().posX + 0.5f, door.getConnectedDoor().posY + 0.5f);
|
||||||
|
door.getConnectedDoor().waitForLeave();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,21 +100,24 @@ public class ImageMap extends Map {
|
|||||||
tiles[x][y] = map.getTile(x, y).clone();
|
tiles[x][y] = map.getTile(x, y).clone();
|
||||||
if (tiles[x][y] instanceof DoorTile) {
|
if (tiles[x][y] instanceof DoorTile) {
|
||||||
DoorTile dt = (DoorTile) tiles[x][y];
|
DoorTile dt = (DoorTile) tiles[x][y];
|
||||||
switch (dt.getSide()) {
|
if (dt.getSide() == DoorTile.TOP) {
|
||||||
case DoorTile.TOP:
|
|
||||||
topDoor = dt;
|
topDoor = dt;
|
||||||
break;
|
topDoor.setMap(this);
|
||||||
case DoorTile.BOTTOM:
|
}
|
||||||
|
if (dt.getSide() == DoorTile.BOTTOM) {
|
||||||
bottomDoor = dt;
|
bottomDoor = dt;
|
||||||
break;
|
bottomDoor.setMap(this);
|
||||||
case DoorTile.LEFT:
|
}
|
||||||
|
if (dt.getSide() == DoorTile.LEFT) {
|
||||||
leftDoor = dt;
|
leftDoor = dt;
|
||||||
break;
|
leftDoor.setMap(this);
|
||||||
case DoorTile.RIGHT:
|
}
|
||||||
|
if (dt.getSide() == DoorTile.RIGHT) {
|
||||||
rightDoor = dt;
|
rightDoor = dt;
|
||||||
break;
|
rightDoor.setMap(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
add(tiles[x][y]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user