]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Code cleanup: Purge calls to obsolete EntityCoordinates methods (#26292)
authorTayrtahn <tayrtahn@gmail.com>
Thu, 21 Mar 2024 01:59:56 +0000 (21:59 -0400)
committerGitHub <noreply@github.com>
Thu, 21 Mar 2024 01:59:56 +0000 (12:59 +1100)
* Purge calls to obsolete EntityCoordinates methods

* Pizza defruited; rerun those tests!

34 files changed:
Content.Client/Construction/ConstructionSystem.cs
Content.Client/ContextMenu/UI/EntityMenuUIController.cs
Content.Client/Gameplay/GameplayStateBase.cs
Content.Client/NPC/PathfindingSystem.cs
Content.Client/Popups/PopupOverlay.cs
Content.Client/Popups/PopupSystem.cs
Content.Client/Radiation/Overlays/RadiationPulseOverlay.cs
Content.Client/Sandbox/SandboxSystem.cs
Content.Server/Atmos/EntitySystems/AtmosphereSystem.HighPressureDelta.cs
Content.Server/Chemistry/EntitySystems/VaporSystem.cs
Content.Server/Construction/Conditions/ComponentInTile.cs
Content.Server/Construction/ConstructionSystem.Initial.cs
Content.Server/Dragon/DragonSystem.cs
Content.Server/Explosion/EntitySystems/ExplosionSystem.cs
Content.Server/GameTicking/GameTicker.Spawning.cs
Content.Server/Guardian/GuardianSystem.cs
Content.Server/Hands/Systems/HandsSystem.cs
Content.Server/Implants/SubdermalImplantSystem.cs
Content.Server/Magic/MagicSystem.cs
Content.Server/NPC/HTN/Preconditions/CoordinatesInRangePrecondition.cs
Content.Server/NPC/HTN/Preconditions/CoordinatesNotInRangePrecondition.cs
Content.Server/NPC/HTN/Preconditions/TargetInRangePrecondition.cs
Content.Server/NPC/Pathfinding/PathfindingSystem.cs
Content.Server/Pointing/EntitySystems/PointingSystem.cs
Content.Server/Respawn/SpecialRespawnSystem.cs
Content.Server/Singularity/EntitySystems/GravityWellSystem.cs
Content.Server/Singularity/EntitySystems/SingularityAttractorSystem.cs
Content.Server/Storage/EntitySystems/BluespaceLockerSystem.cs
Content.Server/Worldgen/Systems/Carvers/NoiseRangeCarverSystem.cs
Content.Shared/Construction/Conditions/WallmountCondition.cs
Content.Shared/Examine/ExamineSystemShared.cs
Content.Shared/Hands/EntitySystems/SharedHandsSystem.Pickup.cs
Content.Shared/Interaction/SharedInteractionSystem.cs
Content.Shared/Spawning/EntitySystemExtensions.cs

index ae1724c3bf63c58f4dff4627fcfc209dd402de97..66000a8457dc2a5db652e22ffe95023541c9ce64 100644 (file)
@@ -27,6 +27,7 @@ namespace Content.Client.Construction
         [Dependency] private readonly IPlayerManager _playerManager = default!;
         [Dependency] private readonly IPrototypeManager _prototypeManager = default!;
         [Dependency] private readonly SharedInteractionSystem _interactionSystem = default!;
+        [Dependency] private readonly SharedTransformSystem _transformSystem = default!;
         [Dependency] private readonly PopupSystem _popupSystem = default!;
 
         private readonly Dictionary<int, EntityUid> _ghosts = new();
@@ -195,7 +196,7 @@ namespace Content.Client.Construction
                 return false;
 
             // This InRangeUnobstructed should probably be replaced with "is there something blocking us in that tile?"
-            var predicate = GetPredicate(prototype.CanBuildInImpassable, loc.ToMap(EntityManager));
+            var predicate = GetPredicate(prototype.CanBuildInImpassable, loc.ToMap(EntityManager, _transformSystem));
             if (!_interactionSystem.InRangeUnobstructed(user, loc, 20f, predicate: predicate))
                 return false;
 
index ae1b3ec3bf005ba3b2ef039a9876eb7866b818b1..a60619baa357d27931267ea274ae9d6831a426f8 100644 (file)
@@ -170,7 +170,7 @@ namespace Content.Client.ContextMenu.UI
             if (_combatMode.IsInCombatMode(args.Session?.AttachedEntity))
                 return false;
 
-            var coords = args.Coordinates.ToMap(_entityManager);
+            var coords = args.Coordinates.ToMap(_entityManager, _xform);
 
             if (_verbSystem.TryGetEntityMenuEntities(coords, out var entities))
                 OpenRootMenu(entities);
index bdbd69d108636d526734e02d2754a44d13280902..6236cd8e9583785e9fa7cac8f219037156cbd01d 100644 (file)
@@ -104,7 +104,7 @@ namespace Content.Client.Gameplay
 
         public IEnumerable<EntityUid> GetClickableEntities(EntityCoordinates coordinates)
         {
-            return GetClickableEntities(coordinates.ToMap(_entityManager));
+            return GetClickableEntities(coordinates.ToMap(_entityManager, _entitySystemManager.GetEntitySystem<SharedTransformSystem>()));
         }
 
         public IEnumerable<EntityUid> GetClickableEntities(MapCoordinates coordinates)
index 548edd601ce871bcd133d033e3aa5f949228feb2..7bf3df1f0b97217ddf35ef2c59b1da48221aa15a 100644 (file)
@@ -23,6 +23,7 @@ namespace Content.Client.NPC
         [Dependency] private readonly IResourceCache _cache = default!;
         [Dependency] private readonly NPCSteeringSystem _steering = default!;
         [Dependency] private readonly MapSystem _mapSystem = default!;
+        [Dependency] private readonly SharedTransformSystem _transformSystem = default!;
 
         public PathfindingDebugMode Modes
         {
@@ -39,7 +40,7 @@ namespace Content.Client.NPC
                 }
                 else if (!overlayManager.HasOverlay<PathfindingOverlay>())
                 {
-                    overlayManager.AddOverlay(new PathfindingOverlay(EntityManager, _eyeManager, _inputManager, _mapManager, _cache, this, _mapSystem));
+                    overlayManager.AddOverlay(new PathfindingOverlay(EntityManager, _eyeManager, _inputManager, _mapManager, _cache, this, _mapSystem, _transformSystem));
                 }
 
                 if ((value & PathfindingDebugMode.Steering) != 0x0)
@@ -140,6 +141,7 @@ namespace Content.Client.NPC
         private readonly IMapManager _mapManager;
         private readonly PathfindingSystem _system;
         private readonly MapSystem _mapSystem;
+        private readonly SharedTransformSystem _transformSystem;
 
         public override OverlaySpace Space => OverlaySpace.ScreenSpace | OverlaySpace.WorldSpace;
 
@@ -153,7 +155,8 @@ namespace Content.Client.NPC
             IMapManager mapManager,
             IResourceCache cache,
             PathfindingSystem system,
-            MapSystem mapSystem)
+            MapSystem mapSystem,
+            SharedTransformSystem transformSystem)
         {
             _entManager = entManager;
             _eyeManager = eyeManager;
@@ -161,6 +164,7 @@ namespace Content.Client.NPC
             _mapManager = mapManager;
             _system = system;
             _mapSystem = mapSystem;
+            _transformSystem = transformSystem;
             _font = new VectorFont(cache.GetResource<FontResource>("/Fonts/NotoSans/NotoSans-Regular.ttf"), 10);
         }
 
@@ -480,7 +484,7 @@ namespace Content.Client.NPC
                                     if (neighborPoly.NetEntity != poly.GraphUid)
                                     {
                                         color = Color.Green;
-                                        var neighborMap = _entManager.GetCoordinates(neighborPoly).ToMap(_entManager);
+                                        var neighborMap = _entManager.GetCoordinates(neighborPoly).ToMap(_entManager, _transformSystem);
 
                                         if (neighborMap.MapId != args.MapId)
                                             continue;
index 3bfa7278734a37a7b9ae0092e4f693c639907503..fb6bb3bf565e2d5c0791701a46d7de25a1f363bc 100644 (file)
@@ -22,7 +22,7 @@ public sealed class PopupOverlay : Overlay
     private readonly PopupSystem _popup;
     private readonly PopupUIController _controller;
     private readonly ExamineSystemShared _examine;
-
+    private readonly SharedTransformSystem _transform;
     private readonly ShaderInstance _shader;
 
     public override OverlaySpace Space => OverlaySpace.ScreenSpace;
@@ -35,6 +35,7 @@ public sealed class PopupOverlay : Overlay
         IUserInterfaceManager uiManager,
         PopupUIController controller,
         ExamineSystemShared examine,
+        SharedTransformSystem transform,
         PopupSystem popup)
     {
         _configManager = configManager;
@@ -42,6 +43,7 @@ public sealed class PopupOverlay : Overlay
         _playerMgr = playerMgr;
         _uiManager = uiManager;
         _examine = examine;
+        _transform = transform;
         _popup = popup;
         _controller = controller;
 
@@ -76,7 +78,7 @@ public sealed class PopupOverlay : Overlay
 
         foreach (var popup in _popup.WorldLabels)
         {
-            var mapPos = popup.InitialPos.ToMap(_entManager);
+            var mapPos = popup.InitialPos.ToMap(_entManager, _transform);
 
             if (mapPos.MapId != args.MapId)
                 continue;
index 46c1e0cdf62bc99bd88903a6311141866d5c2b61..479fb02906c46bf08297737b66fa86e8124eb00e 100644 (file)
@@ -28,6 +28,7 @@ namespace Content.Client.Popups
         [Dependency] private readonly IUserInterfaceManager _uiManager = default!;
         [Dependency] private readonly IReplayRecordingManager _replayRecording = default!;
         [Dependency] private readonly ExamineSystemShared _examine = default!;
+        [Dependency] private readonly SharedTransformSystem _transform = default!;
 
         public IReadOnlyList<WorldPopupLabel> WorldLabels => _aliveWorldLabels;
         public IReadOnlyList<CursorPopupLabel> CursorLabels => _aliveCursorLabels;
@@ -54,6 +55,7 @@ namespace Content.Client.Popups
                     _uiManager,
                     _uiManager.GetUIController<PopupUIController>(),
                     _examine,
+                    _transform,
                     this));
         }
 
index adc535b2684b4fc2b57bb5a10851a659263bde84..9012767ef3f3874f5c99043a79ac54bc1691fde5 100644 (file)
@@ -121,7 +121,10 @@ namespace Content.Client.Radiation.Overlays
 
         private bool PulseQualifies(EntityUid pulseEntity, MapCoordinates currentEyeLoc)
         {
-            return _entityManager.GetComponent<TransformComponent>(pulseEntity).MapID == currentEyeLoc.MapId && _entityManager.GetComponent<TransformComponent>(pulseEntity).Coordinates.InRange(_entityManager, EntityCoordinates.FromMap(_entityManager, _entityManager.GetComponent<TransformComponent>(pulseEntity).ParentUid, currentEyeLoc), MaxDist);
+            var transformComponent = _entityManager.GetComponent<TransformComponent>(pulseEntity);
+            var transformSystem = _entityManager.System<SharedTransformSystem>();
+            return transformComponent.MapID == currentEyeLoc.MapId
+                && transformComponent.Coordinates.InRange(_entityManager, transformSystem, EntityCoordinates.FromMap(transformComponent.ParentUid, currentEyeLoc, transformSystem, _entityManager), MaxDist);
         }
 
         private sealed record RadiationShaderInstance(MapCoordinates CurrentMapCoords, float Range, TimeSpan Start, float Duration)
index d16751e3715d2bfbeaff5d275fb256eba9589d39..6a1129bb75d97e1c405959f4550440693ed2aff6 100644 (file)
@@ -16,6 +16,7 @@ namespace Content.Client.Sandbox
         [Dependency] private readonly IMapManager _map = default!;
         [Dependency] private readonly IPlacementManager _placement = default!;
         [Dependency] private readonly ContentEyeSystem _contentEye = default!;
+        [Dependency] private readonly SharedTransformSystem _transform = default!;
 
         private bool _sandboxEnabled;
         public bool SandboxAllowed { get; private set; }
@@ -108,7 +109,7 @@ namespace Content.Client.Sandbox
             }
 
             // Try copy tile.
-            if (!_map.TryFindGridAt(coords.ToMap(EntityManager), out _, out var grid) || !grid.TryGetTileRef(coords, out var tileRef))
+            if (!_map.TryFindGridAt(coords.ToMap(EntityManager, _transform), out _, out var grid) || !grid.TryGetTileRef(coords, out var tileRef))
                 return false;
 
             if (_placement.Eraser)
index 53035e1ed3c5555df7225031cad7c0f7cb82794c..4d25292a66796884ebf1a2deba986a0ea9541387 100644 (file)
@@ -238,7 +238,7 @@ namespace Content.Server.Atmos.EntitySystems
                     // TODO: Technically these directions won't be correct but uhh I'm just here for optimisations buddy not to fix my old bugs.
                     if (throwTarget != EntityCoordinates.Invalid)
                     {
-                        var pos = ((throwTarget.ToMap(EntityManager).Position - xform.WorldPosition).Normalized() + dirVec).Normalized();
+                        var pos = ((throwTarget.ToMap(EntityManager, _transformSystem).Position - xform.WorldPosition).Normalized() + dirVec).Normalized();
                         _physics.ApplyLinearImpulse(uid, pos * moveForce, body: physics);
                     }
                     else
index d945c1f818b7223741dd585b57bc7d6645febee8..e174d39fc6f92a3339bb41f1f82a84069894ef5b 100644 (file)
@@ -22,8 +22,8 @@ namespace Content.Server.Chemistry.EntitySystems
     [UsedImplicitly]
     internal sealed class VaporSystem : EntitySystem
     {
-        [Dependency] private readonly IMapManager _mapManager = default!;
         [Dependency] private readonly IPrototypeManager _protoManager = default!;
+        [Dependency] private readonly SharedMapSystem _map = default!;
         [Dependency] private readonly SharedPhysicsSystem _physics = default!;
         [Dependency] private readonly SolutionContainerSystem _solutionContainerSystem = default!;
         [Dependency] private readonly ThrowingSystem _throwing = default!;
@@ -115,7 +115,7 @@ namespace Content.Server.Chemistry.EntitySystems
             {
                 vapor.ReactTimer = 0;
 
-                var tile = gridComp.GetTileRef(xform.Coordinates.ToVector2i(EntityManager, _mapManager));
+                var tile = _map.GetTileRef(xform.GridUid.Value, gridComp, xform.Coordinates);
                 foreach (var reagentQuantity in contents.Contents.ToArray())
                 {
                     if (reagentQuantity.Quantity == FixedPoint2.Zero) continue;
index 8ab4046a72160fdb2db65441d1049700bb9d65cb..91393baf8e3579c1779a7bde717886c7231520ee 100644 (file)
@@ -46,7 +46,8 @@ namespace Content.Server.Construction.Conditions
             if (transform.GridUid == null)
                 return false;
 
-            var indices = transform.Coordinates.ToVector2i(entityManager, IoCManager.Resolve<IMapManager>());
+            var transformSys = entityManager.System<SharedTransformSystem>();
+            var indices = transform.Coordinates.ToVector2i(entityManager, IoCManager.Resolve<IMapManager>(), transformSys);
             var lookup = entityManager.EntitySysManager.GetEntitySystem<EntityLookupSystem>();
             var entities = indices.GetEntitiesInTile(transform.GridUid.Value, LookupFlags.Approximate | LookupFlags.Static, lookup);
 
index 298036650013f3d1471d375acfea84b7aaebb9ef..ede8d3064faa3865b7bf2d40814851aa6ed98639 100644 (file)
@@ -2,7 +2,6 @@ using System.IO;
 using System.Linq;
 using System.Threading.Tasks;
 using Content.Server.Construction.Components;
-using Content.Server.Storage.EntitySystems;
 using Content.Shared.ActionBlocker;
 using Content.Shared.Construction;
 using Content.Shared.Construction.Prototypes;
@@ -15,7 +14,6 @@ using Content.Shared.Hands.EntitySystems;
 using Content.Shared.Interaction;
 using Content.Shared.Inventory;
 using Content.Shared.Storage;
-using Content.Shared.Tag;
 using Robust.Shared.Containers;
 using Robust.Shared.Player;
 using Robust.Shared.Timing;
@@ -30,8 +28,7 @@ namespace Content.Server.Construction
         [Dependency] private readonly ActionBlockerSystem _actionBlocker = default!;
         [Dependency] private readonly SharedHandsSystem _handsSystem = default!;
         [Dependency] private readonly EntityLookupSystem _lookupSystem = default!;
-        [Dependency] private readonly StorageSystem _storageSystem = default!;
-        [Dependency] private readonly TagSystem _tagSystem = default!;
+        [Dependency] private readonly SharedTransformSystem _transformSystem = default!;
 
         // --- WARNING! LEGACY CODE AHEAD! ---
         // This entire file contains the legacy code for initial construction.
@@ -465,7 +462,7 @@ namespace Content.Server.Construction
                 return;
             }
 
-            var mapPos = location.ToMap(EntityManager);
+            var mapPos = location.ToMap(EntityManager, _transformSystem);
             var predicate = GetPredicate(constructionPrototype.CanBuildInImpassable, mapPos);
 
             if (!_interactionSystem.InRangeUnobstructed(user, mapPos, predicate: predicate))
index 36df6fb6f29c7636feb66eef0849827cc7c581e5..326510715f0464894903da603a2b0101b25251a2 100644 (file)
@@ -31,6 +31,7 @@ public sealed partial class DragonSystem : EntitySystem
     [Dependency] private readonly RoleSystem _role = default!;
     [Dependency] private readonly SharedActionsSystem _actions = default!;
     [Dependency] private readonly SharedAudioSystem _audio = default!;
+    [Dependency] private readonly SharedTransformSystem _transform = default!;
 
     private EntityQuery<CarpRiftsConditionComponent> _objQuery;
 
@@ -150,7 +151,7 @@ public sealed partial class DragonSystem : EntitySystem
         // cant stack rifts near eachother
         foreach (var (_, riftXform) in EntityQuery<DragonRiftComponent, TransformComponent>(true))
         {
-            if (riftXform.Coordinates.InRange(EntityManager, xform.Coordinates, RiftRange))
+            if (riftXform.Coordinates.InRange(EntityManager, _transform, xform.Coordinates, RiftRange))
             {
                 _popup.PopupEntity(Loc.GetString("carp-rift-proximity", ("proximity", RiftRange)), uid, uid);
                 return;
index 24ccf611bdabb1c9e05b666e66268e09d7687597..46238fd7c5d7cfdde9cedff476ab1b1ec87ddc56 100644 (file)
@@ -331,7 +331,7 @@ public sealed partial class ExplosionSystem : EntitySystem
         CameraShake(iterationIntensity.Count * 4f, epicenter, totalIntensity);
 
         //For whatever bloody reason, sound system requires ENTITY coordinates.
-        var mapEntityCoords = EntityCoordinates.FromMap(EntityManager, _mapManager.GetMapEntityId(epicenter.MapId), epicenter);
+        var mapEntityCoords = EntityCoordinates.FromMap(_mapManager.GetMapEntityId(epicenter.MapId), epicenter, _transformSystem, EntityManager);
 
         // play sound.
         // for the normal audio, we want everyone in pvs range
index 65de36cf80ee1d20a3ef0fe286d156cc0c4c844d..52bab07ce8fe18f2a77d73852b9fb0f1084be3bf 100644 (file)
@@ -386,7 +386,7 @@ namespace Content.Server.GameTicking
                 // Ideally engine would just spawn them on grid directly I guess? Right now grid traversal is handling it during
                 // update which means we need to add a hack somewhere around it.
                 var spawn = _robustRandom.Pick(_possiblePositions);
-                var toMap = spawn.ToMap(EntityManager);
+                var toMap = spawn.ToMap(EntityManager, _transform);
 
                 if (_mapManager.TryFindGridAt(toMap, out var gridUid, out _))
                 {
index 808de9f667b8280648af809e9577fe12ebe68132..e58f997b211d566226cff9764beb42bd2e84cfd9 100644 (file)
@@ -34,6 +34,7 @@ namespace Content.Server.Guardian
         [Dependency] private readonly SharedAudioSystem _audio = default!;
         [Dependency] private readonly BodySystem _bodySystem = default!;
         [Dependency] private readonly SharedContainerSystem _container = default!;
+        [Dependency] private readonly SharedTransformSystem _transform = default!;
 
         public override void Initialize()
         {
@@ -324,7 +325,7 @@ namespace Content.Server.Guardian
             if (!guardianComponent.GuardianLoose)
                 return;
 
-            if (!guardianXform.Coordinates.InRange(EntityManager, hostXform.Coordinates, guardianComponent.DistanceAllowed))
+            if (!guardianXform.Coordinates.InRange(EntityManager, _transform, hostXform.Coordinates, guardianComponent.DistanceAllowed))
                 RetractGuardian(hostUid, hostComponent, guardianUid, guardianComponent);
         }
 
index 99958db2728b2162596d02758884bede58a843bd..c783701003de37e983cca21f807a59a98de33c4d 100644 (file)
@@ -35,6 +35,7 @@ namespace Content.Server.Hands.Systems
         [Dependency] private readonly VirtualItemSystem _virtualItemSystem = default!;
         [Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!;
         [Dependency] private readonly SharedHandsSystem _handsSystem = default!;
+        [Dependency] private readonly SharedTransformSystem _transformSystem = default!;
         [Dependency] private readonly PullingSystem _pullingSystem = default!;
         [Dependency] private readonly ThrowingSystem _throwingSystem = default!;
 
@@ -198,7 +199,7 @@ namespace Content.Server.Hands.Systems
                 throwEnt = splitStack.Value;
             }
 
-            var direction = coordinates.ToMapPos(EntityManager) - Transform(player).WorldPosition;
+            var direction = coordinates.ToMapPos(EntityManager, _transformSystem) - Transform(player).WorldPosition;
             if (direction == Vector2.Zero)
                 return true;
 
index ac415a0434269c866740aa56e3f584761efe8b0f..8eb274144817398d5c3f7118f4694102da9668f4 100644 (file)
@@ -99,7 +99,7 @@ public sealed class SubdermalImplantSystem : SharedSubdermalImplantSystem
             return;
 
         var xform = Transform(ent);
-        var entityCoords = xform.Coordinates.ToMap(EntityManager);
+        var entityCoords = xform.Coordinates.ToMap(EntityManager, _xform);
 
         // try to find a valid position to teleport to, teleport to whatever works if we can't
         var targetCoords = new MapCoordinates();
index 371814cacbc1859a12ba0713e5dddd280cd0ce64..c6915121bfbe50b91e3a7a09cb88ba29eae8f618 100644 (file)
@@ -167,7 +167,7 @@ public sealed class MagicSystem : EntitySystem
         foreach (var pos in GetSpawnPositions(xform, ev.Pos))
         {
             // If applicable, this ensures the projectile is parented to grid on spawn, instead of the map.
-            var mapPos = pos.ToMap(EntityManager);
+            var mapPos = pos.ToMap(EntityManager, _transformSystem);
             var spawnCoords = _mapManager.TryFindGridAt(mapPos, out var gridUid, out _)
                 ? pos.WithEntityId(gridUid, EntityManager)
                 : new(_mapManager.GetMapEntityId(mapPos.MapId), mapPos.Position);
index 3e030aa8197ee7b12d74d0a9f852c4a5d2e79139..3485bd2a18c334b2dcebd1f021619d3c944f5f8e 100644 (file)
@@ -22,6 +22,6 @@ public sealed partial class CoordinatesInRangePrecondition : HTNPrecondition
         if (!blackboard.TryGetValue<EntityCoordinates>(TargetKey, out var target, _entManager))
             return false;
 
-        return coordinates.InRange(_entManager, target, blackboard.GetValueOrDefault<float>(RangeKey, _entManager));
+        return coordinates.InRange(_entManager, _entManager.System<SharedTransformSystem>(), target, blackboard.GetValueOrDefault<float>(RangeKey, _entManager));
     }
 }
index 6d8977bb7a76490a219cbf1b8085c6468a1e369d..9d000ca2eb841b0bdae0f21628219c6a7f80f2fc 100644 (file)
@@ -22,7 +22,7 @@ public sealed partial class CoordinatesNotInRangePrecondition : HTNPrecondition
         if (!blackboard.TryGetValue<EntityCoordinates>(TargetKey, out var target, _entManager))
             return false;
 
-        return !coordinates.InRange(_entManager, target, blackboard.GetValueOrDefault<float>(RangeKey, _entManager));
+        return !coordinates.InRange(_entManager, _entManager.System<SharedTransformSystem>(), target, blackboard.GetValueOrDefault<float>(RangeKey, _entManager));
     }
 }
 
index 5d616ba630e5f26db78dd6c5519e1110f789c040..aaccb426d714b19b6c176b4e88dd7f1372104e9c 100644 (file)
@@ -23,6 +23,6 @@ public sealed partial class TargetInRangePrecondition : HTNPrecondition
             !_entManager.TryGetComponent<TransformComponent>(target, out var targetXform))
             return false;
 
-        return coordinates.InRange(_entManager, targetXform.Coordinates, blackboard.GetValueOrDefault<float>(RangeKey, _entManager));
+        return coordinates.InRange(_entManager, _entManager.System<SharedTransformSystem>(), targetXform.Coordinates, blackboard.GetValueOrDefault<float>(RangeKey, _entManager));
     }
 }
index 95f931cdd6a693f4069bd0e5b2f0c798c7763782..a59af88ff58d1245941757ed577fa2c3e5f2e57d 100644 (file)
@@ -405,7 +405,7 @@ namespace Content.Server.NPC.Pathfinding
                 return null;
             }
 
-            var localPos = xform.InvWorldMatrix.Transform(coordinates.ToMapPos(EntityManager));
+            var localPos = xform.InvWorldMatrix.Transform(coordinates.ToMapPos(EntityManager, _transform));
             var origin = GetOrigin(localPos);
 
             if (!TryGetChunk(origin, comp, out var chunk))
index 06d2d6f58b52a69f7801de82729cb63f26810151..9b2e14eff8b7177270fb0d4e10c1c7220561b054 100644 (file)
@@ -36,6 +36,7 @@ namespace Content.Server.Pointing.EntitySystems
         [Dependency] private readonly SharedPopupSystem _popup = default!;
         [Dependency] private readonly VisibilitySystem _visibilitySystem = default!;
         [Dependency] private readonly SharedMindSystem _minds = default!;
+        [Dependency] private readonly SharedTransformSystem _transform = default!;
         [Dependency] private readonly IAdminLogManager _adminLogger = default!;
         [Dependency] private readonly ExamineSystemShared _examine = default!;
 
@@ -97,7 +98,7 @@ namespace Content.Server.Pointing.EntitySystems
         {
             if (HasComp<GhostComponent>(pointer))
             {
-                return Transform(pointer).Coordinates.InRange(EntityManager, coordinates, 15);
+                return Transform(pointer).Coordinates.InRange(EntityManager, _transform, coordinates, 15);
             }
             else
             {
@@ -142,7 +143,7 @@ namespace Content.Server.Pointing.EntitySystems
                 return false;
             }
 
-            var mapCoordsPointed = coordsPointed.ToMap(EntityManager);
+            var mapCoordsPointed = coordsPointed.ToMap(EntityManager, _transform);
             _rotateToFaceSystem.TryFaceCoordinates(player, mapCoordsPointed.Position);
 
             var arrow = EntityManager.SpawnEntity("PointingArrow", coordsPointed);
@@ -150,7 +151,7 @@ namespace Content.Server.Pointing.EntitySystems
             if (TryComp<PointingArrowComponent>(arrow, out var pointing))
             {
                 if (TryComp(player, out TransformComponent? xformPlayer))
-                    pointing.StartPosition = EntityCoordinates.FromMap(arrow, xformPlayer.Coordinates.ToMap(EntityManager)).Position;
+                    pointing.StartPosition = EntityCoordinates.FromMap(arrow, xformPlayer.Coordinates.ToMap(EntityManager, _transform), _transform).Position;
 
                 pointing.EndTime = _gameTiming.CurTime + PointDuration;
 
index 51c092be18b36d5b804fa7c6807da7d0aa21a512..2822c94093f867ff43d84ccb7fdf027ca1474034 100644 (file)
@@ -20,6 +20,7 @@ public sealed class SpecialRespawnSystem : SharedSpecialRespawnSystem
     [Dependency] private readonly ITileDefinitionManager _tileDefinitionManager = default!;
     [Dependency] private readonly AtmosphereSystem _atmosphere = default!;
     [Dependency] private readonly IRobustRandom _random = default!;
+    [Dependency] private readonly SharedTransformSystem _transform = default!;
     [Dependency] private readonly TurfSystem _turf = default!;
     [Dependency] private readonly IChatManager _chat = default!;
 
@@ -129,11 +130,11 @@ public sealed class SpecialRespawnSystem : SharedSpecialRespawnSystem
     private void Respawn(EntityUid oldEntity, string prototype, EntityCoordinates coords)
     {
         var entity = Spawn(prototype, coords);
-        _adminLog.Add(LogType.Respawn, LogImpact.High, $"{ToPrettyString(oldEntity)} was deleted and was respawned at {coords.ToMap(EntityManager)} as {ToPrettyString(entity)}");
+        _adminLog.Add(LogType.Respawn, LogImpact.High, $"{ToPrettyString(oldEntity)} was deleted and was respawned at {coords.ToMap(EntityManager, _transform)} as {ToPrettyString(entity)}");
         _chat.SendAdminAlert($"{MetaData(oldEntity).EntityName} was deleted and was respawned as {ToPrettyString(entity)}");
     }
 
-        /// <summary>
+    /// <summary>
     /// Try to find a random safe tile on the supplied grid
     /// </summary>
     /// <param name="targetGrid">The grid that you're looking for a safe tile on</param>
index ce4334391db6e70861ce173b9f864b5861d7b678..f1d0af6f9050e7f912f3a5c413769aa2cde36045 100644 (file)
@@ -18,13 +18,13 @@ namespace Content.Server.Singularity.EntitySystems;
 /// </summary>
 public sealed class GravityWellSystem : SharedGravityWellSystem
 {
-#region Dependencies
+    #region Dependencies
     [Dependency] private readonly IGameTiming _timing = default!;
     [Dependency] private readonly IViewVariablesManager _vvManager = default!;
     [Dependency] private readonly EntityLookupSystem _lookup = default!;
     [Dependency] private readonly SharedPhysicsSystem _physics = default!;
     [Dependency] private readonly SharedTransformSystem _transform = default!;
-#endregion Dependencies
+    #endregion Dependencies
 
     /// <summary>
     /// The minimum range at which gravpulses will act.
@@ -155,7 +155,7 @@ public sealed class GravityWellSystem : SharedGravityWellSystem
     /// <param name="minRange">The minimum distance at which entities can be affected by the gravity pulse.</param>
     /// <param name="baseMatrixDeltaV">The base velocity added to any entities within affected by the gravity pulse scaled by the displacement of those entities from the epicenter.</param>
     public void GravPulse(EntityCoordinates entityPos, float maxRange, float minRange, in Matrix3 baseMatrixDeltaV)
-        => GravPulse(entityPos.ToMap(EntityManager), maxRange, minRange, in baseMatrixDeltaV);
+        => GravPulse(entityPos.ToMap(EntityManager, _transform), maxRange, minRange, in baseMatrixDeltaV);
 
     /// <summary>
     /// Greates a gravitational pulse, shoving around all entities within some distance of an epicenter.
@@ -166,7 +166,7 @@ public sealed class GravityWellSystem : SharedGravityWellSystem
     /// <param name="baseRadialDeltaV">The base radial velocity that will be added to entities within range towards the center of the gravitational pulse.</param>
     /// <param name="baseTangentialDeltaV">The base tangential velocity that will be added to entities within countrclockwise around the center of the gravitational pulse.</param>
     public void GravPulse(EntityCoordinates entityPos, float maxRange, float minRange, float baseRadialDeltaV = 0.0f, float baseTangentialDeltaV = 0.0f)
-        => GravPulse(entityPos.ToMap(EntityManager), maxRange, minRange, baseRadialDeltaV, baseTangentialDeltaV);
+        => GravPulse(entityPos.ToMap(EntityManager, _transform), maxRange, minRange, baseRadialDeltaV, baseTangentialDeltaV);
 
     /// <summary>
     /// Causes a gravitational pulse, shoving around all entities within some distance of an epicenter.
index 3c44a7fc7af652fa13083080455db27b178539f2..bc0de7c8c64f12623f98f41669b659b462381b79 100644 (file)
@@ -2,12 +2,7 @@ using Content.Server.Physics.Components;
 using Content.Server.Power.EntitySystems;
 using Content.Server.Singularity.Components;
 using Content.Shared.Singularity.Components;
-using Content.Shared.Singularity.EntitySystems;
 using Robust.Shared.Map;
-using Robust.Shared.Map.Components;
-using Robust.Shared.Physics;
-using Robust.Shared.Physics.Components;
-using Robust.Shared.Physics.Systems;
 using Robust.Shared.Timing;
 using System.Numerics;
 
@@ -18,8 +13,8 @@ namespace Content.Server.Singularity.EntitySystems;
 /// </summary>
 public sealed class SingularityAttractorSystem : EntitySystem
 {
-    [Dependency] private readonly EntityLookupSystem _lookup = default!;
     [Dependency] private readonly IGameTiming _timing = default!;
+    [Dependency] private readonly SharedTransformSystem _transform = default!;
 
     /// <summary>
     /// The minimum range at which the attraction will act.
@@ -69,7 +64,7 @@ public sealed class SingularityAttractorSystem : EntitySystem
 
         attractor.LastPulseTime = _timing.CurTime;
 
-        var mapPos = xform.Coordinates.ToMap(EntityManager);
+        var mapPos = xform.Coordinates.ToMap(EntityManager, _transform);
 
         if (mapPos == MapCoordinates.Nullspace)
             return;
@@ -77,7 +72,7 @@ public sealed class SingularityAttractorSystem : EntitySystem
         var query = EntityQuery<SingularityComponent, RandomWalkComponent, TransformComponent>();
         foreach (var (singulo, walk, singuloXform) in query)
         {
-            var singuloMapPos = singuloXform.Coordinates.ToMap(EntityManager);
+            var singuloMapPos = singuloXform.Coordinates.ToMap(EntityManager, _transform);
 
             if (singuloMapPos.MapId != mapPos.MapId)
                 continue;
index 9995ed40c1223855931fcdb304ad0b9502114a56..356768769bb830586d9f02c1ca0ac1d9eb3d11fd 100644 (file)
@@ -26,6 +26,7 @@ public sealed class BluespaceLockerSystem : EntitySystem
     [Dependency] private readonly WeldableSystem _weldableSystem = default!;
     [Dependency] private readonly LockSystem _lockSystem = default!;
     [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!;
+    [Dependency] private readonly SharedTransformSystem _transformSystem = default!;
     [Dependency] private readonly ExplosionSystem _explosionSystem = default!;
 
     public override void Initialize()
@@ -386,7 +387,7 @@ public sealed class BluespaceLockerSystem : EntitySystem
         switch (component.BehaviorProperties.DestroyType)
         {
             case BluespaceLockerDestroyType.Explode:
-                _explosionSystem.QueueExplosion(uid.ToCoordinates().ToMap(EntityManager),
+                _explosionSystem.QueueExplosion(uid.ToCoordinates().ToMap(EntityManager, _transformSystem),
                     ExplosionSystem.DefaultExplosionPrototypeId, 4, 1, 2, maxTileBreak: 0);
                 goto case BluespaceLockerDestroyType.Delete;
             case BluespaceLockerDestroyType.Delete:
index aed32bc89c3165c0a1c3a67ac588031938934d1f..f2e051669a219d51ef2baca679f1e62095312dcf 100644 (file)
@@ -9,6 +9,7 @@ namespace Content.Server.Worldgen.Systems.Carvers;
 public sealed class NoiseRangeCarverSystem : EntitySystem
 {
     [Dependency] private readonly NoiseIndexSystem _index = default!;
+    [Dependency] private readonly SharedTransformSystem _transform = default!;
 
     /// <inheritdoc />
     public override void Initialize()
@@ -19,7 +20,7 @@ public sealed class NoiseRangeCarverSystem : EntitySystem
     private void OnPrePlaceDebris(EntityUid uid, NoiseRangeCarverComponent component,
         ref PrePlaceDebrisFeatureEvent args)
     {
-        var coords = WorldGen.WorldToChunkCoords(args.Coords.ToMapPos(EntityManager));
+        var coords = WorldGen.WorldToChunkCoords(args.Coords.ToMapPos(EntityManager, _transform));
         var val = _index.Evaluate(uid, component.NoiseChannel, coords);
 
         foreach (var (low, high) in component.Ranges)
index bf3016d49740118650ce185f843ed3373a6ebdf1..fe4336e6fc7ac770a44b043c19744d4291c06878 100644 (file)
@@ -19,8 +19,9 @@ namespace Content.Shared.Construction.Conditions
             var entManager = IoCManager.Resolve<IEntityManager>();
 
             // get blueprint and user position
+            var transformSystem = entManager.System<SharedTransformSystem>();
             var userWorldPosition = entManager.GetComponent<TransformComponent>(user).WorldPosition;
-            var objWorldPosition = location.ToMap(entManager).Position;
+            var objWorldPosition = location.ToMap(entManager, transformSystem).Position;
 
             // find direction from user to blueprint
             var userToObject = (objWorldPosition - userWorldPosition);
index f792862be1452eccfed4eff3a450dbeef99a2b5c..2a5201f76872c37c7841de747a0075e7544df5e2 100644 (file)
@@ -220,7 +220,7 @@ namespace Content.Shared.Examine
         {
             var entMan = IoCManager.Resolve<IEntityManager>();
             var originPos = entMan.GetComponent<TransformComponent>(origin).MapPosition;
-            var otherPos = other.ToMap(entMan);
+            var otherPos = other.ToMap(entMan, _transform);
 
             return InRangeUnOccluded(originPos, otherPos, range, predicate, ignoreInsideBlocker);
         }
index bbae03e45b3d34d8bbde4fc163fb80619b0019e6..20e08b2767d23c1090d1bf4c31565c0580931f5c 100644 (file)
@@ -114,7 +114,7 @@ public abstract partial class SharedHandsSystem : EntitySystem
                 && (itemPos.Position - xform.MapPosition.Position).Length() <= MaxAnimationRange
                 && MetaData(entity).VisibilityMask == MetaData(uid).VisibilityMask) // Don't animate aghost pickups.
             {
-                var initialPosition = EntityCoordinates.FromMap(coordinateEntity, itemPos, EntityManager);
+                var initialPosition = EntityCoordinates.FromMap(coordinateEntity, itemPos, TransformSystem, EntityManager);
                 _storage.PlayPickupAnimation(entity, initialPosition, xform.Coordinates, itemXform.LocalRotation, uid);
             }
         }
index 7c85ede9b0718768915a56b600c7598cbad8a8c5..e4864b1f7fc4689ab6d98cfb8db190c40615070a 100644 (file)
@@ -459,7 +459,7 @@ namespace Content.Shared.Interaction
                 return false;
 
             if (!HasComp<NoRotateOnInteractComponent>(user))
-                _rotateToFaceSystem.TryFaceCoordinates(user, coordinates.ToMapPos(EntityManager));
+                _rotateToFaceSystem.TryFaceCoordinates(user, coordinates.ToMapPos(EntityManager, _transform));
 
             return true;
         }
@@ -612,7 +612,7 @@ namespace Content.Shared.Interaction
             Ignored combinedPredicate = e => e == origin || (predicate?.Invoke(e) ?? false);
             var inRange = true;
             MapCoordinates originPos = default;
-            var targetPos = otherCoordinates.ToMap(EntityManager);
+            var targetPos = otherCoordinates.ToMap(EntityManager, _transform);
             Angle targetRot = default;
 
             // So essentially:
@@ -785,7 +785,7 @@ namespace Content.Shared.Interaction
             Ignored? predicate = null,
             bool popup = false)
         {
-            return InRangeUnobstructed(origin, other.ToMap(EntityManager), range, collisionMask, predicate, popup);
+            return InRangeUnobstructed(origin, other.ToMap(EntityManager, _transform), range, collisionMask, predicate, popup);
         }
 
         /// <summary>
index 14b171baeb1f18747dfcd91a1ad46a76d8fb3eaa..507a0f4aa27048d236e4aaf416a48d0328fd5e5c 100644 (file)
@@ -16,7 +16,7 @@ namespace Content.Shared.Spawning
             SharedPhysicsSystem? physicsManager = null)
         {
             physicsManager ??= entityManager.System<SharedPhysicsSystem>();
-            var mapCoordinates = coordinates.ToMap(entityManager);
+            var mapCoordinates = coordinates.ToMap(entityManager, entityManager.System<SharedTransformSystem>());
 
             return entityManager.SpawnIfUnobstructed(prototypeName, mapCoordinates, collisionLayer, box, physicsManager);
         }