From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Thu, 16 Nov 2023 13:09:10 +0000 (+1100) Subject: Move RequiresTileSystem to server (#21691) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=3538ed137a901347cafb0a74a92b4c6aa9ce702c;p=space-station-14.git Move RequiresTileSystem to server (#21691) --- diff --git a/Content.Shared/Tiles/RequiresTileSystem.cs b/Content.Server/Tiles/RequiresTileSystem.cs similarity index 56% rename from Content.Shared/Tiles/RequiresTileSystem.cs rename to Content.Server/Tiles/RequiresTileSystem.cs index e34e6ffb18..571065c828 100644 --- a/Content.Shared/Tiles/RequiresTileSystem.cs +++ b/Content.Server/Tiles/RequiresTileSystem.cs @@ -1,13 +1,23 @@ +using Content.Shared.Tiles; using Robust.Shared.Map.Components; using Robust.Shared.Map.Enumerators; -namespace Content.Shared.Tiles; +namespace Content.Server.Tiles; public sealed class RequiresTileSystem : EntitySystem { + /* + * Needs to be on server as client can't predict QueueDel. + */ + + [Dependency] private readonly SharedMapSystem _maps = default!; + + private EntityQuery _tilesQuery; + public override void Initialize() { base.Initialize(); + _tilesQuery = GetEntityQuery(); SubscribeLocalEvent(OnTileChange); } @@ -16,15 +26,13 @@ public sealed class RequiresTileSystem : EntitySystem if (!TryComp(ev.Entity, out var grid)) return; - var anchored = grid.GetAnchoredEntitiesEnumerator(ev.NewTile.GridIndices); + var anchored = _maps.GetAnchoredEntitiesEnumerator(ev.Entity, grid, ev.NewTile.GridIndices); if (anchored.Equals(AnchoredEntitiesEnumerator.Empty)) return; - var query = GetEntityQuery(); - while (anchored.MoveNext(out var ent)) { - if (!query.HasComponent(ent.Value)) + if (!_tilesQuery.HasComponent(ent.Value)) continue; QueueDel(ent.Value);