1
0

DungeonConfig.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using Robust.Shared.Prototypes;
  2. namespace Content.Shared.Procedural;
  3. [Virtual, DataDefinition]
  4. public partial class DungeonConfig
  5. {
  6. /// <summary>
  7. /// <see cref="Data"/>
  8. /// </summary>
  9. [DataField]
  10. public DungeonData Data = DungeonData.Empty;
  11. /// <summary>
  12. /// The secret sauce, procedural generation layers that get run.
  13. /// </summary>
  14. [DataField]
  15. public List<IDunGenLayer> Layers = new();
  16. /// <summary>
  17. /// Should we reserve the tiles generated by this config so no other dungeons can spawn on it within the same job?
  18. /// </summary>
  19. [DataField]
  20. public bool ReserveTiles;
  21. /// <summary>
  22. /// Minimum times to run the config.
  23. /// </summary>
  24. [DataField]
  25. public int MinCount = 1;
  26. /// <summary>
  27. /// Maximum times to run the config.
  28. /// </summary>
  29. [DataField]
  30. public int MaxCount = 1;
  31. /// <summary>
  32. /// Minimum amount we can offset the dungeon by.
  33. /// </summary>
  34. [DataField]
  35. public int MinOffset;
  36. /// <summary>
  37. /// Maximum amount we can offset the dungeon by.
  38. /// </summary>
  39. [DataField]
  40. public int MaxOffset;
  41. }
  42. [Prototype]
  43. public sealed partial class DungeonConfigPrototype : DungeonConfig, IPrototype
  44. {
  45. [IdDataField]
  46. public string ID { get; private set; } = default!;
  47. }