Table of Contents

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

Z float

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.

Floors IReadOnlyList<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.

Walls IReadOnlyList<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

IReadOnlyList<IReadOnlyList<Vector2>>

Walls

The walls as lines, collinear runs already joined.

public IReadOnlyList<PluginDungeonWall> Walls { get; init; }

Property Value

IReadOnlyList<PluginDungeonWall>

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; }

Property Value

float