From: MilenVolf <63782763+MilenVolf@users.noreply.github.com> Date: Sat, 28 Sep 2024 23:27:47 +0000 (+0300) Subject: Replace obsolete Tile Access methods (#32508) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=1b9d77a76078668ceb15acebf777fae05167ea83;p=space-station-14.git Replace obsolete Tile Access methods (#32508) * Replace obsolete SetTile * Remove obsolete GetTileRef & GetAllTiles * Forgor * Apply suggested `GetMapOrInvalid` --- diff --git a/Content.IntegrationTests/Pair/TestPair.Helpers.cs b/Content.IntegrationTests/Pair/TestPair.Helpers.cs index 588cf0d80e..4604cd8296 100644 --- a/Content.IntegrationTests/Pair/TestPair.Helpers.cs +++ b/Content.IntegrationTests/Pair/TestPair.Helpers.cs @@ -35,9 +35,9 @@ public sealed partial class TestPair mapData.GridCoords = new EntityCoordinates(mapData.Grid, 0, 0); var plating = tileDefinitionManager[tile]; var platingTile = new Tile(plating.TileId); - mapData.Grid.Comp.SetTile(mapData.GridCoords, platingTile); + Server.System().SetTile(mapData.Grid.Owner, mapData.Grid.Comp, mapData.GridCoords, platingTile); mapData.MapCoords = new MapCoordinates(0, 0, mapData.MapId); - mapData.Tile = mapData.Grid.Comp.GetAllTiles().First(); + mapData.Tile = Server.System().GetAllTiles(mapData.Grid.Owner, mapData.Grid.Comp).First(); }); TestMap = mapData; diff --git a/Content.Server/Decals/DecalSystem.cs b/Content.Server/Decals/DecalSystem.cs index 519f7a133e..718475754f 100644 --- a/Content.Server/Decals/DecalSystem.cs +++ b/Content.Server/Decals/DecalSystem.cs @@ -35,7 +35,7 @@ namespace Content.Server.Decals [Dependency] private readonly IConfigurationManager _conf = default!; [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly IAdminLogManager _adminLogger = default!; - [Dependency] private readonly MapSystem _mapSystem = default!; + [Dependency] private readonly SharedMapSystem _mapSystem = default!; private readonly Dictionary> _dirtyChunks = new(); private readonly Dictionary>> _previousSentChunks = new(); @@ -106,7 +106,7 @@ namespace Content.Server.Decals return; // Transfer decals over to the new grid. - var enumerator = Comp(ev.Grid).GetAllTilesEnumerator(); + var enumerator = _mapSystem.GetAllTilesEnumerator(ev.Grid, Comp(ev.Grid)); var oldChunkCollection = oldComp.ChunkCollection.ChunkCollection; var chunkCollection = newComp.ChunkCollection.ChunkCollection; diff --git a/Content.Server/Explosion/EntitySystems/ExplosionSystem.GridMap.cs b/Content.Server/Explosion/EntitySystems/ExplosionSystem.GridMap.cs index 29477c16b2..b08b66474b 100644 --- a/Content.Server/Explosion/EntitySystems/ExplosionSystem.GridMap.cs +++ b/Content.Server/Explosion/EntitySystems/ExplosionSystem.GridMap.cs @@ -29,7 +29,7 @@ public sealed partial class ExplosionSystem Dictionary edges = new(); _gridEdges[ev.EntityUid] = edges; - foreach (var tileRef in grid.GetAllTiles()) + foreach (var tileRef in _map.GetAllTiles(ev.EntityUid, grid)) { if (IsEdge(grid, tileRef.GridIndices, out var dir)) edges.Add(tileRef.GridIndices, dir); diff --git a/Content.Server/Explosion/EntitySystems/ExplosionSystem.Processing.cs b/Content.Server/Explosion/EntitySystems/ExplosionSystem.Processing.cs index 97d52e436a..5f14858f1f 100644 --- a/Content.Server/Explosion/EntitySystems/ExplosionSystem.Processing.cs +++ b/Content.Server/Explosion/EntitySystems/ExplosionSystem.Processing.cs @@ -666,6 +666,7 @@ sealed class Explosion private readonly IEntityManager _entMan; private readonly ExplosionSystem _system; + private readonly SharedMapSystem _mapSystem; public readonly EntityUid VisualEnt; @@ -688,11 +689,13 @@ sealed class Explosion IEntityManager entMan, IMapManager mapMan, EntityUid visualEnt, - EntityUid? cause) + EntityUid? cause, + SharedMapSystem mapSystem) { VisualEnt = visualEnt; Cause = cause; _system = system; + _mapSystem = mapSystem; ExplosionType = explosionType; _tileSetIntensity = tileSetIntensity; Epicenter = epicenter; @@ -899,7 +902,7 @@ sealed class Explosion { if (list.Count > 0 && _entMan.EntityExists(grid.Owner)) { - grid.SetTiles(list); + _mapSystem.SetTiles(grid.Owner, grid, list); } } _tileUpdateDict.Clear(); diff --git a/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs b/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs index 818953ed4b..42b66b5479 100644 --- a/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs +++ b/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs @@ -389,7 +389,8 @@ public sealed partial class ExplosionSystem : SharedExplosionSystem EntityManager, _mapManager, visualEnt, - queued.Cause); + queued.Cause, + _map); } private void CameraShake(float range, MapCoordinates epicenter, float totalIntensity) diff --git a/Content.Server/ImmovableRod/ImmovableRodSystem.cs b/Content.Server/ImmovableRod/ImmovableRodSystem.cs index f9873b0d6a..0d3d69c1bc 100644 --- a/Content.Server/ImmovableRod/ImmovableRodSystem.cs +++ b/Content.Server/ImmovableRod/ImmovableRodSystem.cs @@ -25,6 +25,7 @@ public sealed class ImmovableRodSystem : EntitySystem [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly DamageableSystem _damageable = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly SharedMapSystem _map = default!; public override void Update(float frameTime) { @@ -39,7 +40,7 @@ public sealed class ImmovableRodSystem : EntitySystem if (!TryComp(trans.GridUid, out var grid)) continue; - grid.SetTile(trans.Coordinates, Tile.Empty); + _map.SetTile(trans.GridUid.Value, grid, trans.Coordinates, Tile.Empty); } } diff --git a/Content.Server/Parallax/BiomeSystem.cs b/Content.Server/Parallax/BiomeSystem.cs index 1d7ea2a440..22b531eb7c 100644 --- a/Content.Server/Parallax/BiomeSystem.cs +++ b/Content.Server/Parallax/BiomeSystem.cs @@ -962,7 +962,7 @@ public sealed partial class BiomeSystem : SharedBiomeSystem } } - grid.SetTiles(tiles); + _mapSystem.SetTiles(gridUid, grid, tiles); tiles.Clear(); component.LoadedChunks.Remove(chunk); diff --git a/Content.Server/Pointing/EntitySystems/PointingSystem.cs b/Content.Server/Pointing/EntitySystems/PointingSystem.cs index d5ad1fb123..23c70d78f4 100644 --- a/Content.Server/Pointing/EntitySystems/PointingSystem.cs +++ b/Content.Server/Pointing/EntitySystems/PointingSystem.cs @@ -40,6 +40,7 @@ namespace Content.Server.Pointing.EntitySystems [Dependency] private readonly VisibilitySystem _visibilitySystem = default!; [Dependency] private readonly SharedMindSystem _minds = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly SharedMapSystem _map = default!; [Dependency] private readonly IAdminLogManager _adminLogger = default!; [Dependency] private readonly ExamineSystemShared _examine = default!; @@ -73,8 +74,13 @@ namespace Content.Server.Pointing.EntitySystems } // TODO: FOV - private void SendMessage(EntityUid source, IEnumerable viewers, EntityUid pointed, string selfMessage, - string viewerMessage, string? viewerPointedAtMessage = null) + private void SendMessage( + EntityUid source, + IEnumerable viewers, + EntityUid pointed, + string selfMessage, + string viewerMessage, + string? viewerPointedAtMessage = null) { var netSource = GetNetEntity(source); @@ -226,8 +232,8 @@ namespace Content.Server.Pointing.EntitySystems if (_mapManager.TryFindGridAt(mapCoordsPointed, out var gridUid, out var grid)) { - position = $"EntId={gridUid} {grid.WorldToTile(mapCoordsPointed.Position)}"; - tileRef = grid.GetTileRef(grid.WorldToTile(mapCoordsPointed.Position)); + position = $"EntId={gridUid} {_map.WorldToTile(gridUid, grid, mapCoordsPointed.Position)}"; + tileRef = _map.GetTileRef(gridUid, grid, _map.WorldToTile(gridUid, grid, mapCoordsPointed.Position)); } var tileDef = _tileDefinitionManager[tileRef?.Tile.TypeId ?? 0]; diff --git a/Content.Server/Power/EntitySystems/CableSystem.Placer.cs b/Content.Server/Power/EntitySystems/CableSystem.Placer.cs index 263d626ef5..a5cf54fae0 100644 --- a/Content.Server/Power/EntitySystems/CableSystem.Placer.cs +++ b/Content.Server/Power/EntitySystems/CableSystem.Placer.cs @@ -11,6 +11,8 @@ namespace Content.Server.Power.EntitySystems; public sealed partial class CableSystem { [Dependency] private readonly IAdminLogManager _adminLogger = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly SharedMapSystem _map = default!; private void InitializeCablePlacer() { @@ -26,11 +28,12 @@ public sealed partial class CableSystem if (component.CablePrototypeId == null) return; - if(!TryComp(args.ClickLocation.GetGridUid(EntityManager), out var grid)) + if(!TryComp(_transform.GetGrid(args.ClickLocation), out var grid)) return; + var gridUid = _transform.GetGrid(args.ClickLocation)!.Value; var snapPos = grid.TileIndicesFor(args.ClickLocation); - var tileDef = (ContentTileDefinition) _tileManager[grid.GetTileRef(snapPos).Tile.TypeId]; + var tileDef = (ContentTileDefinition) _tileManager[_map.GetTileRef(gridUid, grid,snapPos).Tile.TypeId]; if (!tileDef.IsSubFloor || !tileDef.Sturdy) return; diff --git a/Content.Server/Procedural/DungeonSystem.Commands.cs b/Content.Server/Procedural/DungeonSystem.Commands.cs index 51a6a57bbe..09e881686e 100644 --- a/Content.Server/Procedural/DungeonSystem.Commands.cs +++ b/Content.Server/Procedural/DungeonSystem.Commands.cs @@ -1,8 +1,6 @@ -using System.Threading.Tasks; using Content.Server.Administration; using Content.Shared.Administration; using Content.Shared.Procedural; -using Content.Shared.Procedural.DungeonGenerators; using Robust.Shared.Console; using Robust.Shared.Map; using Robust.Shared.Map.Components; @@ -44,7 +42,7 @@ public sealed partial class DungeonSystem } var position = new Vector2i(posX, posY); - var dungeonUid = _mapManager.GetMapEntityId(mapId); + var dungeonUid = _maps.GetMapOrInvalid(mapId); if (!TryComp(dungeonUid, out var dungeonGrid)) { @@ -118,7 +116,7 @@ public sealed partial class DungeonSystem } var mapId = new MapId(mapInt); - var mapUid = _mapManager.GetMapEntityId(mapId); + var mapUid = _maps.GetMapOrInvalid(mapId); if (!_prototype.TryIndex(args[1], out var pack)) { @@ -156,7 +154,7 @@ public sealed partial class DungeonSystem } } - grid.SetTiles(tiles); + _maps.SetTiles(mapUid, grid, tiles); shell.WriteLine(Loc.GetString("cmd-dungen_pack_vis")); } @@ -174,7 +172,7 @@ public sealed partial class DungeonSystem } var mapId = new MapId(mapInt); - var mapUid = _mapManager.GetMapEntityId(mapId); + var mapUid =_maps.GetMapOrInvalid(mapId); if (!_prototype.TryIndex(args[1], out var preset)) { @@ -197,7 +195,7 @@ public sealed partial class DungeonSystem } } - grid.SetTiles(tiles); + _maps.SetTiles(mapUid, grid, tiles); shell.WriteLine(Loc.GetString("cmd-dungen_pack_vis")); } diff --git a/Content.Server/Singularity/EntitySystems/EventHorizonSystem.cs b/Content.Server/Singularity/EntitySystems/EventHorizonSystem.cs index 3bf820535f..bf5a45549c 100644 --- a/Content.Server/Singularity/EntitySystems/EventHorizonSystem.cs +++ b/Content.Server/Singularity/EntitySystems/EventHorizonSystem.cs @@ -32,6 +32,7 @@ public sealed class EventHorizonSystem : SharedEventHorizonSystem [Dependency] private readonly SharedContainerSystem _containerSystem = default!; [Dependency] private readonly SharedPhysicsSystem _physics = default!; [Dependency] private readonly SharedTransformSystem _xformSystem = default!; + [Dependency] private readonly SharedMapSystem _mapSystem = default!; [Dependency] private readonly TagSystem _tagSystem = default!; #endregion Dependencies @@ -254,7 +255,7 @@ public sealed class EventHorizonSystem : SharedEventHorizonSystem var ev = new TilesConsumedByEventHorizonEvent(tiles, gridId, grid, hungry, eventHorizon); RaiseLocalEvent(hungry, ref ev); - grid.SetTiles(tiles); + _mapSystem.SetTiles(gridId, grid, tiles); } /// diff --git a/Content.Server/SubFloor/SubFloorHideSystem.cs b/Content.Server/SubFloor/SubFloorHideSystem.cs index 2767f500f9..497d7788d7 100644 --- a/Content.Server/SubFloor/SubFloorHideSystem.cs +++ b/Content.Server/SubFloor/SubFloorHideSystem.cs @@ -19,7 +19,7 @@ public sealed class SubFloorHideSystem : SharedSubFloorHideSystem var xform = Transform(uid); if (TryComp(xform.GridUid, out var grid) - && HasFloorCover(grid, grid.TileIndicesFor(xform.Coordinates))) + && HasFloorCover(xform.GridUid.Value, grid, Map.TileIndicesFor(xform.GridUid.Value, grid, xform.Coordinates))) { args.Cancel(); } diff --git a/Content.Server/Worldgen/Systems/Debris/BlobFloorPlanBuilderSystem.cs b/Content.Server/Worldgen/Systems/Debris/BlobFloorPlanBuilderSystem.cs index a09416e593..ba0a3a7132 100644 --- a/Content.Server/Worldgen/Systems/Debris/BlobFloorPlanBuilderSystem.cs +++ b/Content.Server/Worldgen/Systems/Debris/BlobFloorPlanBuilderSystem.cs @@ -15,6 +15,7 @@ public sealed class BlobFloorPlanBuilderSystem : BaseWorldSystem [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly ITileDefinitionManager _tileDefinition = default!; [Dependency] private readonly TileSystem _tiles = default!; + [Dependency] private readonly SharedMapSystem _map = default!; /// public override void Initialize() @@ -25,10 +26,10 @@ public sealed class BlobFloorPlanBuilderSystem : BaseWorldSystem private void OnBlobFloorPlanBuilderStartup(EntityUid uid, BlobFloorPlanBuilderComponent component, ComponentStartup args) { - PlaceFloorplanTiles(component, Comp(uid)); + PlaceFloorplanTiles(uid, component, Comp(uid)); } - private void PlaceFloorplanTiles(BlobFloorPlanBuilderComponent comp, MapGridComponent grid) + private void PlaceFloorplanTiles(EntityUid gridUid, BlobFloorPlanBuilderComponent comp, MapGridComponent grid) { // NO MORE THAN TWO ALLOCATIONS THANK YOU VERY MUCH. // TODO: Just put these on a field instead then? @@ -82,7 +83,7 @@ public sealed class BlobFloorPlanBuilderSystem : BaseWorldSystem } } - grid.SetTiles(taken.Select(x => (x.Key, x.Value)).ToList()); + _map.SetTiles(gridUid, grid, taken.Select(x => (x.Key, x.Value)).ToList()); } } diff --git a/Content.Server/Worldgen/Systems/Debris/SimpleFloorPlanPopulatorSystem.cs b/Content.Server/Worldgen/Systems/Debris/SimpleFloorPlanPopulatorSystem.cs index ae1c6b5c00..a575e055ef 100644 --- a/Content.Server/Worldgen/Systems/Debris/SimpleFloorPlanPopulatorSystem.cs +++ b/Content.Server/Worldgen/Systems/Debris/SimpleFloorPlanPopulatorSystem.cs @@ -13,6 +13,7 @@ public sealed class SimpleFloorPlanPopulatorSystem : BaseWorldSystem { [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly ITileDefinitionManager _tileDefinition = default!; + [Dependency] private readonly SharedMapSystem _map = default!; /// public override void Initialize() @@ -25,7 +26,7 @@ public sealed class SimpleFloorPlanPopulatorSystem : BaseWorldSystem { var placeables = new List(4); var grid = Comp(uid); - var enumerator = grid.GetAllTilesEnumerator(); + var enumerator = _map.GetAllTilesEnumerator(uid, grid); while (enumerator.MoveNext(out var tile)) { var coords = grid.GridTileToLocal(tile.Value.GridIndices); diff --git a/Content.Shared/Friction/TileFrictionController.cs b/Content.Shared/Friction/TileFrictionController.cs index 930de07dab..eb109caa42 100644 --- a/Content.Shared/Friction/TileFrictionController.cs +++ b/Content.Shared/Friction/TileFrictionController.cs @@ -22,6 +22,7 @@ namespace Content.Shared.Friction [Dependency] private readonly SharedGravitySystem _gravity = default!; [Dependency] private readonly SharedMoverController _mover = default!; [Dependency] private readonly SharedPhysicsSystem _physics = default!; + [Dependency] private readonly SharedMapSystem _map = default!; private EntityQuery _frictionQuery; private EntityQuery _xformQuery; @@ -185,7 +186,7 @@ namespace Content.Shared.Friction : DefaultFriction; } - var tile = grid.GetTileRef(xform.Coordinates); + var tile = _map.GetTileRef(xform.GridUid.Value, grid, xform.Coordinates); // If it's a map but on an empty tile then just assume it has gravity. if (tile.Tile.IsEmpty && diff --git a/Content.Shared/Sound/SharedEmitSoundSystem.cs b/Content.Shared/Sound/SharedEmitSoundSystem.cs index 8733edf485..8040910dc3 100644 --- a/Content.Shared/Sound/SharedEmitSoundSystem.cs +++ b/Content.Shared/Sound/SharedEmitSoundSystem.cs @@ -35,6 +35,7 @@ public abstract class SharedEmitSoundSystem : EntitySystem [Dependency] private readonly SharedAmbientSoundSystem _ambient = default!; [Dependency] private readonly SharedAudioSystem _audioSystem = default!; [Dependency] protected readonly SharedPopupSystem Popup = default!; + [Dependency] private readonly SharedMapSystem _map = default!; [Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!; public override void Initialize() @@ -86,7 +87,7 @@ public abstract class SharedEmitSoundSystem : EntitySystem return; } - var tile = grid.GetTileRef(xform.Coordinates); + var tile = _map.GetTileRef(xform.GridUid.Value, grid, xform.Coordinates); // Handle maps being grids (we'll still emit the sound). if (xform.GridUid != xform.MapUid && tile.IsSpace(_tileDefMan)) diff --git a/Content.Shared/SubFloor/SharedSubFloorHideSystem.cs b/Content.Shared/SubFloor/SharedSubFloorHideSystem.cs index cebc84ecb9..c90a28a513 100644 --- a/Content.Shared/SubFloor/SharedSubFloorHideSystem.cs +++ b/Content.Shared/SubFloor/SharedSubFloorHideSystem.cs @@ -17,6 +17,7 @@ namespace Content.Shared.SubFloor { [Dependency] private readonly ITileDefinitionManager _tileDefinitionManager = default!; [Dependency] private readonly SharedAmbientSoundSystem _ambientSoundSystem = default!; + [Dependency] protected readonly SharedMapSystem Map = default!; [Dependency] protected readonly SharedAppearanceSystem Appearance = default!; public override void Initialize() @@ -92,7 +93,7 @@ namespace Content.Shared.SubFloor if (args.NewTile.Tile.IsEmpty) return; // Anything that was here will be unanchored anyways. - UpdateTile(Comp(args.NewTile.GridUid), args.NewTile.GridIndices); + UpdateTile(args.NewTile.GridUid, Comp(args.NewTile.GridUid), args.NewTile.GridIndices); } /// @@ -104,25 +105,25 @@ namespace Content.Shared.SubFloor return; if (xform.Anchored && TryComp(xform.GridUid, out var grid)) - component.IsUnderCover = HasFloorCover(grid, grid.TileIndicesFor(xform.Coordinates)); + component.IsUnderCover = HasFloorCover(xform.GridUid.Value, grid, Map.TileIndicesFor(xform.GridUid.Value, grid, xform.Coordinates)); else component.IsUnderCover = false; UpdateAppearance(uid, component); } - public bool HasFloorCover(MapGridComponent grid, Vector2i position) + public bool HasFloorCover(EntityUid gridUid, MapGridComponent grid, Vector2i position) { // TODO Redo this function. Currently wires on an asteroid are always "below the floor" - var tileDef = (ContentTileDefinition) _tileDefinitionManager[grid.GetTileRef(position).Tile.TypeId]; + var tileDef = (ContentTileDefinition) _tileDefinitionManager[Map.GetTileRef(gridUid, grid, position).Tile.TypeId]; return !tileDef.IsSubFloor; } - private void UpdateTile(MapGridComponent grid, Vector2i position) + private void UpdateTile(EntityUid gridUid, MapGridComponent grid, Vector2i position) { - var covered = HasFloorCover(grid, position); + var covered = HasFloorCover(gridUid, grid, position); - foreach (var uid in grid.GetAnchoredEntities(position)) + foreach (var uid in Map.GetAnchoredEntities(gridUid, grid, position)) { if (!TryComp(uid, out SubFloorHideComponent? hideComp)) continue; diff --git a/Content.Shared/Tiles/FloorTileSystem.cs b/Content.Shared/Tiles/FloorTileSystem.cs index f031292f23..3acd5051c9 100644 --- a/Content.Shared/Tiles/FloorTileSystem.cs +++ b/Content.Shared/Tiles/FloorTileSystem.cs @@ -36,6 +36,7 @@ public sealed class FloorTileSystem : EntitySystem [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly TileSystem _tile = default!; [Dependency] private readonly SharedPhysicsSystem _physics = default!; + [Dependency] private readonly SharedMapSystem _map = default!; private static readonly Vector2 CheckRange = new(1f, 1f); @@ -132,7 +133,7 @@ public sealed class FloorTileSystem : EntitySystem return; } - var tile = mapGrid.GetTileRef(location); + var tile = _map.GetTileRef(gridUid, mapGrid, location); var baseTurf = (ContentTileDefinition) _tileDefinitionManager[tile.Tile.TypeId]; if (HasBaseTurf(currentTileDefinition, baseTurf.ID)) @@ -176,7 +177,7 @@ public sealed class FloorTileSystem : EntitySystem var random = new System.Random((int) _timing.CurTick.Value); var variant = _tile.PickVariant((ContentTileDefinition) _tileDefinitionManager[tileId], random); - mapGrid.SetTile(location.Offset(new Vector2(offset, offset)), new Tile(tileId, 0, variant)); + _map.SetTile(gridUid, mapGrid,location.Offset(new Vector2(offset, offset)), new Tile(tileId, 0, variant)); _audio.PlayPredicted(placeSound, location, user); }