Files
crystall-punk-14/Content.Shared/Procedural/DungeonConfigPrototype.cs

54 lines
1.3 KiB
C#
Raw Normal View History

2023-03-10 16:41:22 +11:00
using Content.Shared.Procedural.PostGeneration;
using Robust.Shared.Prototypes;
namespace Content.Shared.Procedural;
[Prototype]
public sealed partial class DungeonConfigPrototype : IPrototype
2023-03-10 16:41:22 +11:00
{
[IdDataField]
public string ID { get; private set; } = default!;
2023-03-10 16:41:22 +11:00
/// <summary>
/// <see cref="Data"/>
/// </summary>
[DataField]
public DungeonData Data = DungeonData.Empty;
/// <summary>
/// The secret sauce, procedural generation layers that get run.
/// </summary>
[DataField(required: true)]
public List<IDunGenLayer> Layers = new();
/// <summary>
/// Should we reserve the tiles generated by this config so no other dungeons can spawn on it within the same job?
/// </summary>
[DataField]
public bool ReserveTiles;
/// <summary>
/// Minimum times to run the config.
/// </summary>
[DataField]
public int MinCount = 1;
/// <summary>
/// Maximum times to run the config.
/// </summary>
[DataField]
public int MaxCount = 1;
/// <summary>
/// Minimum amount we can offset the dungeon by.
/// </summary>
[DataField]
public int MinOffset;
2023-03-10 16:41:22 +11:00
/// <summary>
/// Maximum amount we can offset the dungeon by.
2023-03-10 16:41:22 +11:00
/// </summary>
[DataField]
public int MaxOffset;
2023-03-10 16:41:22 +11:00
}