An enum type listing architectural surface roles used by the editor. It enumerates many surface categories like walls, floors, roof parts, windows, doors, services and fittings for use in painting or classifying map geometry.
using System;
using System.Collections.Generic;
using System.Linq;
using Sandbox;
namespace Sunless.Architecture;
public enum ArchSurface
{
WallExterior,
WallInterior,
WallCap,
Reveal,
Trim,
Sill,
Baseboard,
Floor,
Ceiling,
Roof,
RoofEdge,
Soffit,
Gutter,
StairTread,
StairRiser,
StairStringer,
Pillar,
PillarCap,
DoorLeaf,
Siding,
Wainscot,
WindowFrame,
WindowSash,
Glass,
Deck,
Railing,
Foundation,
// Append only - inserting mid-list renumbers every ordinal after it.
Threshold,
Road,
Pavement,
Kerb,
RoadLine,
Panel,
Post,
Wire,
RoofFrame,
Bridge,
Pier,
Lining,
Portal,
// Appended, never inserted - a mid-list role silently repaints the whole map.
WallBase,
// Burglar bar, security gate, boarded panel - the one thing on every window in these suburbs.
Grille,
Shutter,
Sign,
// Chimney cowls, vent stacks, tanks: what stands on a deck rather than what the deck is.
Plant,
// Services. Plumbing and electrical are two roles rather than one, so a map can paint a red rainwater run
// apart from a grey cable tray without touching either part; the hangers are a third, because galvanised
// stock reads as neither.
Pipework,
Cabling,
Bracket
}