RoomFillComponent.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using Content.Shared.Whitelist;
  2. namespace Content.Server.Procedural;
  3. /// <summary>
  4. /// Marker that indicates the specified room prototype should occupy this space.
  5. /// </summary>
  6. [RegisterComponent]
  7. public sealed partial class RoomFillComponent : Component
  8. {
  9. /// <summary>
  10. /// Are we allowed to rotate room templates?
  11. /// If the room is not a square this will only do 180 degree rotations.
  12. /// </summary>
  13. [DataField]
  14. public bool Rotation = true;
  15. /// <summary>
  16. /// Min size of the possible selected room.
  17. /// </summary>
  18. [DataField]
  19. public Vector2i MinSize = new (3, 3);
  20. /// <summary>
  21. /// Max size of the possible selected room.
  22. /// </summary>
  23. [DataField]
  24. public Vector2i MaxSize = new (10, 10);
  25. /// <summary>
  26. /// Rooms allowed for the marker.
  27. /// </summary>
  28. [DataField]
  29. public EntityWhitelist? RoomWhitelist;
  30. /// <summary>
  31. /// Should any existing entities / decals be bulldozed first.
  32. /// </summary>
  33. [DataField]
  34. public bool ClearExisting = true;
  35. }