diff --git a/Content.Client/Gameplay/GameplayStateBase.cs b/Content.Client/Gameplay/GameplayStateBase.cs index 1e6fd485b3..162c45d412 100644 --- a/Content.Client/Gameplay/GameplayStateBase.cs +++ b/Content.Client/Gameplay/GameplayStateBase.cs @@ -219,10 +219,12 @@ namespace Content.Client.Gameplay { entityToClick = GetClickedEntity(mousePosWorld); } + var transformSystem = _entitySystemManager.GetEntitySystem(); + var mapSystem = _entitySystemManager.GetEntitySystem(); - coordinates = _mapManager.TryFindGridAt(mousePosWorld, out _, out var grid) ? - grid.MapToGrid(mousePosWorld) : - EntityCoordinates.FromMap(_mapManager, mousePosWorld); + coordinates = _mapManager.TryFindGridAt(mousePosWorld, out var uid, out _) ? + mapSystem.MapToGrid(uid, mousePosWorld) : + transformSystem.ToCoordinates(mousePosWorld); } else { diff --git a/Content.Client/Weapons/Misc/TetherGunSystem.cs b/Content.Client/Weapons/Misc/TetherGunSystem.cs index 398aeabb83..3471fcc1fc 100644 --- a/Content.Client/Weapons/Misc/TetherGunSystem.cs +++ b/Content.Client/Weapons/Misc/TetherGunSystem.cs @@ -16,6 +16,7 @@ public sealed class TetherGunSystem : SharedTetherGunSystem [Dependency] private readonly IMapManager _mapManager = default!; [Dependency] private readonly IOverlayManager _overlay = default!; [Dependency] private readonly IPlayerManager _player = default!; + [Dependency] private readonly MapSystem _mapSystem = default!; public override void Initialize() { @@ -73,11 +74,11 @@ public sealed class TetherGunSystem : SharedTetherGunSystem if (_mapManager.TryFindGridAt(mouseWorldPos, out var gridUid, out _)) { - coords = EntityCoordinates.FromMap(gridUid, mouseWorldPos, TransformSystem); + coords = TransformSystem.ToCoordinates(gridUid, mouseWorldPos); } else { - coords = EntityCoordinates.FromMap(_mapManager.GetMapEntityId(mouseWorldPos.MapId), mouseWorldPos, TransformSystem); + coords = TransformSystem.ToCoordinates(_mapSystem.GetMap(mouseWorldPos.MapId), mouseWorldPos); } const float BufferDistance = 0.1f; diff --git a/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs b/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs index 08e86ff400..ed46412a08 100644 --- a/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs +++ b/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs @@ -136,7 +136,7 @@ public sealed partial class AdminVerbSystem Filter.PvsExcept(args.Target), true, PopupType.MediumCaution); var board = Spawn("ChessBoard", xform.Coordinates); var session = _tabletopSystem.EnsureSession(Comp(board)); - xform.Coordinates = EntityCoordinates.FromMap(_mapManager, session.Position); + xform.Coordinates = _transformSystem.ToCoordinates(session.Position); _transformSystem.SetWorldRotationNoLerp((args.Target, xform), Angle.Zero); }, Impact = LogImpact.Extreme, diff --git a/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs b/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs index beffbd6d68..57759fedfe 100644 --- a/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs +++ b/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs @@ -16,6 +16,7 @@ using Content.Shared.GameTicking; using Content.Shared.Inventory; using Content.Shared.Projectiles; using Content.Shared.Throwing; +using Robust.Server.GameObjects; using Robust.Server.GameStates; using Robust.Server.Player; using Robust.Shared.Audio.Systems; @@ -38,6 +39,7 @@ public sealed partial class ExplosionSystem : SharedExplosionSystem [Dependency] private readonly IConfigurationManager _cfg = default!; [Dependency] private readonly IPlayerManager _playerManager = default!; + [Dependency] private readonly MapSystem _mapSystem = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; [Dependency] private readonly DamageableSystem _damageableSystem = default!; [Dependency] private readonly NodeGroupSystem _nodeGroupSystem = default!; @@ -345,7 +347,7 @@ public sealed partial class ExplosionSystem : SharedExplosionSystem CameraShake(iterationIntensity.Count * 4f, pos, queued.TotalIntensity); //For whatever bloody reason, sound system requires ENTITY coordinates. - var mapEntityCoords = EntityCoordinates.FromMap(_mapManager.GetMapEntityId(pos.MapId), pos, _transformSystem, EntityManager); + var mapEntityCoords = _transformSystem.ToCoordinates(_mapSystem.GetMap(pos.MapId), pos); // play sound. // for the normal audio, we want everyone in pvs range diff --git a/Content.Shared/Coordinates/Helpers/SnapgridHelper.cs b/Content.Shared/Coordinates/Helpers/SnapgridHelper.cs index db9ee85a0c..264b647afb 100644 --- a/Content.Shared/Coordinates/Helpers/SnapgridHelper.cs +++ b/Content.Shared/Coordinates/Helpers/SnapgridHelper.cs @@ -15,11 +15,11 @@ namespace Content.Shared.Coordinates.Helpers if (gridId == null) { var xformSys = entMan.System(); - var mapPos = coordinates.ToMap(entMan, xformSys); + var mapPos = xformSys.ToMapCoordinates(coordinates); var mapX = (int)Math.Floor(mapPos.X) + 0.5f; var mapY = (int)Math.Floor(mapPos.Y) + 0.5f; mapPos = new MapCoordinates(new Vector2(mapX, mapY), mapPos.MapId); - return EntityCoordinates.FromMap(coordinates.EntityId, mapPos, xformSys); + return xformSys.ToCoordinates(coordinates.EntityId, mapPos); } var grid = entMan.GetComponent(gridId.Value); diff --git a/Content.Shared/Hands/EntitySystems/SharedHandsSystem.Pickup.cs b/Content.Shared/Hands/EntitySystems/SharedHandsSystem.Pickup.cs index 101d206acd..0fbf87f5af 100644 --- a/Content.Shared/Hands/EntitySystems/SharedHandsSystem.Pickup.cs +++ b/Content.Shared/Hands/EntitySystems/SharedHandsSystem.Pickup.cs @@ -115,7 +115,7 @@ public abstract partial class SharedHandsSystem : EntitySystem && (itemPos.Position - TransformSystem.GetMapCoordinates(uid, xform: xform).Position).Length() <= MaxAnimationRange && MetaData(entity).VisibilityMask == MetaData(uid).VisibilityMask) // Don't animate aghost pickups. { - var initialPosition = EntityCoordinates.FromMap(coordinateEntity, itemPos, TransformSystem, EntityManager); + var initialPosition = TransformSystem.ToCoordinates(coordinateEntity, itemPos); _storage.PlayPickupAnimation(entity, initialPosition, xform.Coordinates, itemXform.LocalRotation, uid); } } diff --git a/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs b/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs index 7a8961485d..c1fc856ff3 100644 --- a/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs +++ b/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs @@ -81,7 +81,7 @@ public sealed class MagnetPickupSystem : EntitySystem // game state handling we can't show a lerp animation for it. var nearXform = Transform(near); var nearMap = _transform.GetMapCoordinates(near, xform: nearXform); - var nearCoords = EntityCoordinates.FromMap(moverCoords.EntityId, nearMap, _transform, EntityManager); + var nearCoords = _transform.ToCoordinates(moverCoords.EntityId, nearMap); if (!_storage.Insert(uid, near, out var stacked, storageComp: storage, playSound: !playedSound)) continue; diff --git a/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs b/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs index b6228ae779..51ee89c10b 100644 --- a/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs +++ b/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs @@ -532,10 +532,9 @@ public abstract class SharedStorageSystem : EntitySystem { var parent = transformOwner.ParentUid; - var position = EntityCoordinates.FromMap( + var position = TransformSystem.ToCoordinates( parent.IsValid() ? parent : uid, - TransformSystem.GetMapCoordinates(transformEnt), - TransformSystem + TransformSystem.GetMapCoordinates(transformEnt) ); args.Handled = true; @@ -585,10 +584,9 @@ public abstract class SharedStorageSystem : EntitySystem continue; } - var position = EntityCoordinates.FromMap( + var position = TransformSystem.ToCoordinates( xform.ParentUid.IsValid() ? xform.ParentUid : uid, - new MapCoordinates(TransformSystem.GetWorldPosition(targetXform), targetXform.MapID), - TransformSystem + new MapCoordinates(TransformSystem.GetWorldPosition(targetXform), targetXform.MapID) ); var angle = targetXform.LocalRotation;