Class PluginDungeonLayer
- Namespace
- AcDream.Plugin.Abstractions
- Assembly
- AcDream.Plugin.Abstractions.dll
One storey of a floorplan: the cells whose floor lies in one six-metre band of height, flattened together. A cell with no floor of its own, such as the upper cell of a tall room, is drawn in the band of the cell it opens onto below, however many floorless cells sit between; a cell with no floor and no way down is drawn in the band its origin is in.
public sealed record PluginDungeonLayer : IEquatable<PluginDungeonLayer>
- Inheritance
-
PluginDungeonLayer
- Implements
- Inherited Members
Constructors
PluginDungeonLayer(float, IReadOnlyList<IReadOnlyList<Vector2>>, IReadOnlyList<PluginDungeonWall>)
One storey of a floorplan: the cells whose floor lies in one six-metre band of height, flattened together. A cell with no floor of its own, such as the upper cell of a tall room, is drawn in the band of the cell it opens onto below, however many floorless cells sit between; a cell with no floor and no way down is drawn in the band its origin is in.
public PluginDungeonLayer(float Z, IReadOnlyList<IReadOnlyList<Vector2>> Floors, IReadOnlyList<PluginDungeonWall> Walls)
Parameters
ZfloatThe lowest height the band covers, in metres; bands are six metres tall and shifted down three, so a floor at height z is in the band floor((z + 3) / 6) * 6.
FloorsIReadOnlyList<IReadOnlyList<Vector2>>The floor area as closed polygons, each vertex in landblock-local metres, in the order the data gives them. The polygons overlap wherever two cells meet; fill each one and the room comes out whole.
WallsIReadOnlyList<PluginDungeonWall>The walls as lines, collinear runs already joined.
Properties
Floors
The floor area as closed polygons, each vertex in landblock-local metres, in the order the data gives them. The polygons overlap wherever two cells meet; fill each one and the room comes out whole.
public IReadOnlyList<IReadOnlyList<Vector2>> Floors { get; init; }
Property Value
Walls
The walls as lines, collinear runs already joined.
public IReadOnlyList<PluginDungeonWall> Walls { get; init; }
Property Value
Z
The lowest height the band covers, in metres; bands are six metres tall and shifted down three, so a floor at height z is in the band floor((z + 3) / 6) * 6.
public float Z { get; init; }