RoomSpawner mask (#33110)

* RoolFill can now spaw rooms with any size

* tile ignoring

* upgrade interior

* simplify

* Update DungeonSystem.Rooms.cs

* center rooms

* Update RoomFillComponent.cs

* Update RoomFillComponent.cs

* Update DungeonSystem.Rooms.cs

* Remove roomfillcoponent from integration test

* Update EntityTest.cs

* remove nullable size, replaced with minsize and maxsize

* clear existing logic refactor

* delete this one
This commit is contained in:
Ed
2025-02-12 15:47:48 +03:00
committed by GitHub
parent 0d33e6182c
commit 47cb8a0b08
8 changed files with 1318 additions and 930 deletions

View File

@@ -1,6 +1,4 @@
using Content.Shared.Procedural;
using Content.Shared.Whitelist;
using Robust.Shared.Prototypes;
namespace Content.Server.Procedural;
@@ -18,20 +16,26 @@ public sealed partial class RoomFillComponent : Component
public bool Rotation = true;
/// <summary>
/// Size of the room to fill.
/// Min size of the possible selected room.
/// </summary>
[DataField(required: true)]
public Vector2i Size;
[DataField]
public Vector2i MinSize = new (3, 3);
/// <summary>
/// Max size of the possible selected room.
/// </summary>
[DataField]
public Vector2i MaxSize = new (10, 10);
/// <summary>
/// Rooms allowed for the marker.
/// </summary>
[DataField]
public EntityWhitelist? RoomWhitelist;
/// <summary>
/// Should any existing entities / decals be bulldozed first.
/// </summary>
[DataField]
public bool ClearExisting;
public bool ClearExisting = true;
}