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
-
objectRoomBuilder
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.