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>
|
2023-08-22 18:14:33 -07:00
|
|
|
public sealed partial class BoundaryWallPostGen : IPostDunGen
|
2023-03-10 16:41:22 +11:00
|
|
|
{
|
2024-03-23 21:37:18 -06:00
|
|
|
[DataField]
|
|
|
|
|
public ProtoId<ContentTileDefinition> Tile = "FloorSteel";
|
2023-03-10 16:41:22 +11:00
|
|
|
|
2024-03-23 21:37:18 -06:00
|
|
|
[DataField]
|
|
|
|
|
public EntProtoId Wall = "WallSolid";
|
2023-03-10 16:41:22 +11:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Walls to use in corners if applicable.
|
|
|
|
|
/// </summary>
|
2024-03-23 21:37:18 -06:00
|
|
|
[DataField]
|
2023-03-10 16:41:22 +11:00
|
|
|
public string? CornerWall;
|
2024-03-23 21:37:18 -06:00
|
|
|
|
|
|
|
|
[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
|
|
|
}
|