1
0
Fork 0
This commit is contained in:
Piegames 2018-04-24 06:10:47 +02:00
parent e3eefc901c
commit a0a48cb256
2 changed files with 12 additions and 12 deletions

View file

@ -134,14 +134,14 @@ public class DungeonGenerator {
r.tiles[new Vector2Int(x1, y1)].type = Room.TileType.GROUND; r.tiles[new Vector2Int(x1, y1)].type = Room.TileType.GROUND;
} }
allDoors.UnionWith(r.AllDoors()); allDoors.UnionWith(r.AllDoors());
foreach (Vector2Int v in r.doorsDown) {
r.tiles[v].type = Room.TileType.DOOR;
r.tiles[v].position = GenTile.Position.DOWN;
}
foreach (Vector2Int v in r.doorsUp) { foreach (Vector2Int v in r.doorsUp) {
r.tiles[v].type = Room.TileType.DOOR; r.tiles[v].type = Room.TileType.DOOR;
r.tiles[v].position = GenTile.Position.TOP; r.tiles[v].position = GenTile.Position.TOP;
} }
foreach (Vector2Int v in r.doorsDown) {
r.tiles[v].type = Room.TileType.DOOR;
r.tiles[v].position = GenTile.Position.BOTTOM;
}
foreach (Vector2Int v in r.doorsLeft) { foreach (Vector2Int v in r.doorsLeft) {
r.tiles[v].type = Room.TileType.DOOR; r.tiles[v].type = Room.TileType.DOOR;
r.tiles[v].position = GenTile.Position.LEFT; r.tiles[v].position = GenTile.Position.LEFT;
@ -275,8 +275,8 @@ public class DungeonGenerator {
rooms.Add(tunnel); rooms.Add(tunnel);
for ( int i = 0; i < TUNNEL_THICKNESS; i++ ) { for ( int i = 0; i < TUNNEL_THICKNESS; i++ ) {
higher.doorsUp.Add(new Vector2Int(tunnel.bounds.x + i, tunnel.bounds.y + tunnel.bounds.height)); higher.doorsDown.Add(new Vector2Int(tunnel.bounds.x + i, tunnel.bounds.y + tunnel.bounds.height));
lower.doorsDown.Add(new Vector2Int(tunnel.bounds.x + i, tunnel.bounds.y - 1)); lower.doorsUp.Add(new Vector2Int(tunnel.bounds.x + i, tunnel.bounds.y - 1));
} }
} }
@ -394,22 +394,22 @@ public class DungeonGenerator {
rooms.Add(verticalLefter); rooms.Add(verticalLefter);
if ( lower == lefter ) if ( lower == lefter )
for ( int i = 0; i < TUNNEL_THICKNESS; i++ ) { for ( int i = 0; i < TUNNEL_THICKNESS; i++ ) {
lower.doorsDown.Add(new Vector2Int(verticalLefter.bounds.x + i, verticalLefter.bounds.y - 1)); lower.doorsUp.Add(new Vector2Int(verticalLefter.bounds.x + i, verticalLefter.bounds.y - 1));
} }
else else
for ( int i = 0; i < TUNNEL_THICKNESS; i++ ) { for ( int i = 0; i < TUNNEL_THICKNESS; i++ ) {
higher.doorsUp.Add(new Vector2Int(verticalLefter.bounds.x + i, verticalLefter.bounds.y + verticalLefter.bounds.height)); higher.doorsDown.Add(new Vector2Int(verticalLefter.bounds.x + i, verticalLefter.bounds.y + verticalLefter.bounds.height));
} }
} }
if ( addVertical2 ) { if ( addVertical2 ) {
rooms.Add(verticalRighter); rooms.Add(verticalRighter);
if ( lower == righter ) if ( lower == righter )
for ( int i = 0; i < TUNNEL_THICKNESS; i++ ) { for ( int i = 0; i < TUNNEL_THICKNESS; i++ ) {
lower.doorsDown.Add(new Vector2Int(verticalRighter.bounds.x + i, verticalRighter.bounds.y - 1)); lower.doorsUp.Add(new Vector2Int(verticalRighter.bounds.x + i, verticalRighter.bounds.y - 1));
} }
else else
for ( int i = 0; i < TUNNEL_THICKNESS; i++ ) { for ( int i = 0; i < TUNNEL_THICKNESS; i++ ) {
higher.doorsUp.Add(new Vector2Int(verticalRighter.bounds.x + i, verticalRighter.bounds.y + verticalRighter.bounds.height)); higher.doorsDown.Add(new Vector2Int(verticalRighter.bounds.x + i, verticalRighter.bounds.y + verticalRighter.bounds.height));
} }
} }
} }

View file

@ -7,8 +7,8 @@ public class GenRoom {
// TODO make them package protected please // TODO make them package protected please
public RectInt bounds = new RectInt(); public RectInt bounds = new RectInt();
public HashSet<Vector2Int> doorsUp = new HashSet<Vector2Int>();
public HashSet<Vector2Int> doorsDown = new HashSet<Vector2Int>(); public HashSet<Vector2Int> doorsDown = new HashSet<Vector2Int>();
public HashSet<Vector2Int> doorsUp = new HashSet<Vector2Int>();
public HashSet<Vector2Int> doorsLeft = new HashSet<Vector2Int>(); public HashSet<Vector2Int> doorsLeft = new HashSet<Vector2Int>();
public HashSet<Vector2Int> doorsRight = new HashSet<Vector2Int>(); public HashSet<Vector2Int> doorsRight = new HashSet<Vector2Int>();
@ -38,8 +38,8 @@ public class GenRoom {
public HashSet<Vector2Int> AllDoors() { public HashSet<Vector2Int> AllDoors() {
HashSet<Vector2Int> ret = new HashSet<Vector2Int>(); HashSet<Vector2Int> ret = new HashSet<Vector2Int>();
ret.UnionWith(doorsUp);
ret.UnionWith(doorsDown); ret.UnionWith(doorsDown);
ret.UnionWith(doorsUp);
ret.UnionWith(doorsLeft); ret.UnionWith(doorsLeft);
ret.UnionWith(doorsRight); ret.UnionWith(doorsRight);
return ret; return ret;