aboutsummaryrefslogtreecommitdiff
path: root/client/map/tiles/wall_tile.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/map/tiles/wall_tile.gd')
-rw-r--r--client/map/tiles/wall_tile.gd11
1 files changed, 8 insertions, 3 deletions
diff --git a/client/map/tiles/wall_tile.gd b/client/map/tiles/wall_tile.gd
index 0276baea..f934e308 100644
--- a/client/map/tiles/wall_tile.gd
+++ b/client/map/tiles/wall_tile.gd
@@ -24,6 +24,9 @@ const WALLS: Array = [
"fence"
]
+var walls: Array = WALLS
+var env: Array = []
+
enum WallKind {
STRAIGHT,
OUTER_CORNER,
@@ -43,7 +46,7 @@ func _init(ctx: TileFactory.TileCC):
var series = 0
for i in range(4):
var i_name = ctx.neighbors[(start + i) % 4]
- if WallTile.is_wall(i_name):
+ if is_wall(i_name):
series += 1
else:
break
@@ -54,6 +57,8 @@ func _init(ctx: TileFactory.TileCC):
if max_series == 1:
facing = max_idx
kind = WallKind.STRAIGHT
+ if !env.is_empty() and env.has(ctx.neighbors[(facing + 1) % 4]):
+ facing = (facing + 2) % 4
elif max_series == 2:
facing = max_idx
kind = WallKind.OUTER_CORNER
@@ -65,5 +70,5 @@ func _init(ctx: TileFactory.TileCC):
kind = WallKind.CROSS
turn_facing(facing)
-static func is_wall(tile_name_t) -> bool:
- return WALLS.has(tile_name_t)
+func is_wall(tile_name_t) -> bool:
+ return walls.has(tile_name_t)