From 8df640b6931240613f749a602d5b248dc115f10c Mon Sep 17 00:00:00 2001 From: Ed Date: Wed, 17 Jul 2024 21:29:24 +0300 Subject: [PATCH] move ignore tiles to roomProto --- Content.Server/Procedural/DungeonSystem.Rooms.cs | 12 +++++------- .../RoomSpawner/CP14RoomSpawnerComponent.cs | 7 ------- .../Procedural/RoomSpawner/CP14RoomSpawnerSystem.cs | 3 +-- Content.Shared/Procedural/DungeonRoomPrototype.cs | 10 ++++++++++ 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Content.Server/Procedural/DungeonSystem.Rooms.cs b/Content.Server/Procedural/DungeonSystem.Rooms.cs index 7956874dbf..840c97f13b 100644 --- a/Content.Server/Procedural/DungeonSystem.Rooms.cs +++ b/Content.Server/Procedural/DungeonSystem.Rooms.cs @@ -66,8 +66,7 @@ public sealed partial class DungeonSystem Random random, HashSet? reservedTiles, bool clearExisting = false, - bool rotation = false, - List? ignoreTiles = null) //CP14 ignoring atlas mask tiles + bool rotation = false) { var originTransform = Matrix3Helpers.CreateTranslation(origin.X, origin.Y); var roomRotation = Angle.Zero; @@ -80,7 +79,7 @@ public sealed partial class DungeonSystem var roomTransform = Matrix3Helpers.CreateTransform((Vector2) room.Size / 2f, roomRotation); var finalTransform = Matrix3x2.Multiply(roomTransform, originTransform); - SpawnRoom(gridUid, grid, finalTransform, room, reservedTiles, clearExisting, ignoreTiles); //CP14 ignoring atlas mask tiles + SpawnRoom(gridUid, grid, finalTransform, room, reservedTiles, clearExisting); } public Angle GetRoomRotation(DungeonRoomPrototype room, Random random) @@ -106,8 +105,7 @@ public sealed partial class DungeonSystem Matrix3x2 roomTransform, DungeonRoomPrototype room, HashSet? reservedTiles = null, - bool clearExisting = false, - List? ignoreTiles = null) //CP14 ignoring atlas mask tiles + bool clearExisting = false) { // Ensure the underlying template exists. var roomMap = GetOrCreateTemplate(room); @@ -158,10 +156,10 @@ public sealed partial class DungeonSystem if (!clearExisting && reservedTiles?.Contains(rounded) == true) continue; //CP14 ignoring atlas mask tiles - if (ignoreTiles is not null) + if (room.IgnoreTiles is not null) { var tileDef = _tileDefManager[tileRef.Tile.TypeId]; - if (ignoreTiles.Contains(tileDef.ID)) + if (room.IgnoreTiles.Contains(tileDef.ID)) continue; } //CP14 ignoring atlas mask tiles end diff --git a/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerComponent.cs b/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerComponent.cs index 2486deec4e..540a9a5d6e 100644 --- a/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerComponent.cs +++ b/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerComponent.cs @@ -21,11 +21,4 @@ public sealed partial class CP14RoomSpawnerComponent : Component [DataField] public bool ClearExisting = true; - - [DataField] - public List IgnoreTiles = new() - { - "CP14FloorAtlasMask", - "CP14FloorAtlasMask2", - }; } diff --git a/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerSystem.cs b/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerSystem.cs index a0261f92f5..eb364ba6b9 100644 --- a/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerSystem.cs +++ b/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerSystem.cs @@ -83,7 +83,6 @@ public sealed class CP14RoomSpawnerSystem : EntitySystem random, null, spawner.Comp.ClearExisting, - spawner.Comp.Rotation, - spawner.Comp.IgnoreTiles); + spawner.Comp.Rotation); } } diff --git a/Content.Shared/Procedural/DungeonRoomPrototype.cs b/Content.Shared/Procedural/DungeonRoomPrototype.cs index 74fa4b36e3..7487f28dd1 100644 --- a/Content.Shared/Procedural/DungeonRoomPrototype.cs +++ b/Content.Shared/Procedural/DungeonRoomPrototype.cs @@ -24,4 +24,14 @@ public sealed partial class DungeonRoomPrototype : IPrototype /// Tile offset into the atlas to use for the room. /// [DataField("offset", required: true)] public Vector2i Offset; + + /// + /// CP14 atlas tile filtering + /// + [DataField] + public List IgnoreTiles = new() + { + "CP14FloorAtlasMask", + "CP14FloorAtlasMask2", + }; }