Table of Contents

Class WallBuilder

Namespace
S1MAPI.Building.Structural
Assembly
S1MAPI_Mono.dll

Builds walls with optional openings (doors, windows). Extracted from SemanticBuildingBuilder for SRP compliance.

public sealed class WallBuilder
Inheritance
WallBuilder
Inherited Members

Constructors

WallBuilder(Transform, Vector3, float, BuildingPalette)

Create a new wall builder.

public WallBuilder(Transform parent, Vector3 roomSize, float wallThickness, BuildingPalette palette)

Parameters

parent Transform

Parent transform for walls

roomSize Vector3

Room dimensions (width, height, depth)

wallThickness float

Wall thickness in meters

palette BuildingPalette

Material and color palette

Methods

BuildWall(WallSide, WallOpening?)

Build a single wall with optional opening.

public GameObject BuildWall(WallSide side, WallOpening? opening = null)

Parameters

side WallSide

Which side of the room

opening WallOpening

Opening configuration (or null for solid wall)

Returns

GameObject

The wall GameObject(s)

BuildWalls(WallOpening?, WallOpening?, WallOpening?, WallOpening?)

Build all four walls with specified openings.

public GameObject BuildWalls(WallOpening? northOpening = null, WallOpening? southOpening = null, WallOpening? eastOpening = null, WallOpening? westOpening = null)

Parameters

northOpening WallOpening

Opening for north wall (or null for solid)

southOpening WallOpening

Opening for south wall (or null for solid)

eastOpening WallOpening

Opening for east wall (or null for solid)

westOpening WallOpening

Opening for west wall (or null for solid)

Returns

GameObject

The walls container GameObject

BuildWalls(WallOpening?, WallOpening?, WallOpening?, WallOpening?, IReadOnlyDictionary<WallSide, WallAppearance>)

Build all four walls with specified openings and per-wall appearance overrides.

public GameObject BuildWalls(WallOpening? northOpening, WallOpening? southOpening, WallOpening? eastOpening, WallOpening? westOpening, IReadOnlyDictionary<WallSide, WallAppearance> wallOverrides)

Parameters

northOpening WallOpening

Opening for north wall (or null for solid)

southOpening WallOpening

Opening for south wall (or null for solid)

eastOpening WallOpening

Opening for east wall (or null for solid)

westOpening WallOpening

Opening for west wall (or null for solid)

wallOverrides IReadOnlyDictionary<WallSide, WallAppearance>

Per-wall material/color overrides (null entries use palette defaults)

Returns

GameObject

The walls container GameObject