Table of Contents

Class RoomBuilder

Namespace
GrindFest.Editor.DungeonBuilding.Fluent
Assembly
GrindFest.dll

Fluent builder for a single dungeon room. Compiles to one FieldSetupWithShape asset + accompanying RoomShape + ModificatorsPack for its dressing.

Three shape modes:

  • .Size(w, h) — simple rectangular room (most common).
  • .Shape(c => c.Rect(...).Cells(...)) — custom multi-cell shape (cruciform, L, etc.).
  • .PlannerShape() — let the BuildPlanner choose the shape at generation time.
public sealed class RoomBuilder
Inheritance
object
RoomBuilder

Methods

Dress(params string[])

Begin a dressing placement with one or more candidate prefab paths. If multiple prefabs are given, one is picked randomly per cell.

DressCorners(params string[])

Place one prop in each of the 4 corner cells (random yaw).

DressFloor(string[], float, float, float)

Sparse floor scatter (loose props that don't crowd the room).

DressWalls(string[], float, string, float, float)

Place props along all wall-adjacent cells (snapped to wall, random across wall).

PlannerShape()

Use the parent BuildPlanner's shape generator (no custom RoomShape). The resulting asset will be a plain FIMSpace.Generating.FieldSetup, not FieldSetupWithShape.

Raw(Action<FieldSetup>)

Raw access to the underlying PGG FIMSpace.Generating.FieldSetup for things the fluent API can't express. Use sparingly.

Save()

Validate, compile to PGG assets, save to disk. Returns the saved FieldSetup.

Shape(Action<ShapeBuilder>)

Custom multi-cell shape (cruciform, L-shape, etc.).

Shell(ShellBuilder)

Apply a shared shell (walls, floors, pillars, ambient lighting).

Size(int, int)

Rectangular room of given cell dimensions.