* DungeonData rework Back to fields, serializes better, just make new layers dumby. * wawawewa * Fix this * Fixes * review * thanks fork * fix
51 lines
1.2 KiB
C#
51 lines
1.2 KiB
C#
using Robust.Shared.Prototypes;
|
|
|
|
namespace Content.Shared.Procedural;
|
|
|
|
[Virtual, DataDefinition]
|
|
public partial class DungeonConfig
|
|
{
|
|
/// <summary>
|
|
/// The secret sauce, procedural generation layers that get run.
|
|
/// </summary>
|
|
[DataField]
|
|
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;
|
|
|
|
/// <summary>
|
|
/// Maximum amount we can offset the dungeon by.
|
|
/// </summary>
|
|
[DataField]
|
|
public int MaxOffset;
|
|
}
|
|
|
|
[Prototype]
|
|
public sealed partial class DungeonConfigPrototype : DungeonConfig, IPrototype
|
|
{
|
|
[IdDataField]
|
|
public string ID { get; private set; } = default!;
|
|
}
|