Files
crystall-punk-14/Content.Shared/Procedural/PostGeneration/BoundaryWallPostGen.cs

34 lines
850 B
C#
Raw Normal View History

2023-03-10 16:41:22 +11:00
using Content.Shared.Maps;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
namespace Content.Shared.Procedural.PostGeneration;
/// <summary>
/// Iterates room edges and places the relevant tiles and walls on any free indices.
/// </summary>
public sealed partial class BoundaryWallPostGen : IPostDunGen
2023-03-10 16:41:22 +11:00
{
[DataField]
public ProtoId<ContentTileDefinition> Tile = "FloorSteel";
2023-03-10 16:41:22 +11:00
[DataField]
public EntProtoId Wall = "WallSolid";
2023-03-10 16:41:22 +11:00
/// <summary>
/// Walls to use in corners if applicable.
/// </summary>
[DataField]
2023-03-10 16:41:22 +11:00
public string? CornerWall;
[DataField]
public BoundaryWallFlags Flags = BoundaryWallFlags.Corridors | BoundaryWallFlags.Rooms;
}
[Flags]
public enum BoundaryWallFlags : byte
{
Rooms = 1 << 0,
Corridors = 1 << 1,
2023-03-10 16:41:22 +11:00
}