diff options
Diffstat (limited to 'client/map/tiles/wall_tile.gd')
-rw-r--r-- | client/map/tiles/wall_tile.gd | 11 |
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) |