]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Used SharedTransformSytem in AnchorableSystem (#14332)
author08A <git@08a.re>
Sat, 22 Apr 2023 09:37:19 +0000 (11:37 +0200)
committerGitHub <noreply@github.com>
Sat, 22 Apr 2023 09:37:19 +0000 (19:37 +1000)
Content.Server/Construction/AnchorableSystem.cs

index 4d22fa5fb1fd1afb56ff2de284ab19b62ce21890..a6583f9fc4b980ed6dd2a115e5ccdfac92792d6a 100644 (file)
@@ -23,6 +23,7 @@ namespace Content.Server.Construction
         [Dependency] private readonly PopupSystem _popup = default!;
         [Dependency] private readonly SharedToolSystem _tool = default!;
         [Dependency] private readonly PullingSystem _pulling = default!;
+        [Dependency] private readonly SharedTransformSystem _transform = default!;
 
         public override void Initialize()
         {
@@ -47,7 +48,7 @@ namespace Content.Server.Construction
             var xform = Transform(uid);
 
             RaiseLocalEvent(uid, new BeforeUnanchoredEvent(args.User, used));
-            xform.Anchored = false;
+            _transform.Unanchor(uid, xform);
             RaiseLocalEvent(uid, new UserUnanchoredEvent(args.User, used));
 
             _popup.PopupEntity(Loc.GetString("anchorable-unanchored"), uid);
@@ -83,10 +84,15 @@ namespace Content.Server.Construction
 
             // TODO: Anchoring snaps rn anyway!
             if (component.Snap)
-                xform.Coordinates = xform.Coordinates.SnapToGrid(EntityManager, _mapManager);
+            {
+                _transform.SetCoordinates(uid, xform.Coordinates.SnapToGrid(EntityManager, _mapManager));
+            }
 
             RaiseLocalEvent(uid, new BeforeAnchoredEvent(args.User, used));
-            xform.Anchored = true;
+
+            if (!xform.Anchored)
+                _transform.AnchorEntity(uid, xform);
+
             RaiseLocalEvent(uid, new UserAnchoredEvent(args.User, used));
 
             _popup.PopupEntity(Loc.GetString("anchorable-anchored"), uid);