]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Construction spring cleaning (#36163)
authorJ <billsmith116@gmail.com>
Wed, 16 Apr 2025 11:02:41 +0000 (11:02 +0000)
committerGitHub <noreply@github.com>
Wed, 16 Apr 2025 11:02:41 +0000 (13:02 +0200)
* Construction warnings cleanup

* More construction warnings cleanup

* Fix failing ITests - Remove unnecessary casts and dodgy anchroing implementation.

* Checking anchor status before setting

* Reusing shared system call

* inlining anchor setting

Content.Server/Construction/Completions/EmptyAllContainers.cs
Content.Server/Construction/Completions/EmptyContainer.cs
Content.Server/Construction/Completions/SetAnchor.cs
Content.Server/Construction/Completions/SnapToGrid.cs
Content.Server/Construction/Conditions/ContainerEmpty.cs
Content.Server/Construction/Conditions/ContainerNotEmpty.cs
Content.Server/Construction/ConstructionSystem.Graph.cs
Content.Server/Construction/ConstructionSystem.Initial.cs
Content.Shared/Construction/Conditions/WallmountCondition.cs
Content.Shared/Construction/EntitySystems/AnchorableSystem.cs

index 79de939387d92b13f828b70c48cecb129ef011e9..3ed5cf373d92e509bbfe2d17b53d29528135848b 100644 (file)
@@ -2,11 +2,8 @@ using Content.Server.Hands.Systems;
 using Content.Shared.Construction;
 using Content.Shared.Hands.Components;
 using JetBrains.Annotations;
-using Robust.Server.Containers;
 using Robust.Server.GameObjects;
 using Robust.Shared.Containers;
-using Robust.Shared.GameObjects;
-using Robust.Shared.Map;
 
 namespace Content.Server.Construction.Completions
 {
@@ -31,14 +28,14 @@ namespace Content.Server.Construction.Completions
             if (!entityManager.TryGetComponent(uid, out ContainerManagerComponent? containerManager))
                 return;
 
-            var containerSys = entityManager.EntitySysManager.GetEntitySystem<ContainerSystem>();
+            var containerSys = entityManager.EntitySysManager.GetEntitySystem<SharedContainerSystem>();
             var handSys = entityManager.EntitySysManager.GetEntitySystem<HandsSystem>();
             var transformSys = entityManager.EntitySysManager.GetEntitySystem<TransformSystem>();
 
             HandsComponent? hands = null;
             var pickup = Pickup && entityManager.TryGetComponent(userUid, out hands);
 
-            foreach (var container in containerManager.GetAllContainers())
+            foreach (var container in containerSys.GetAllContainers(uid))
             {
                 foreach (var ent in containerSys.EmptyContainer(container, true, reparent: !pickup))
                 {
index 21e36e7e14aa90380ced238377ed9480e368e973..6d26bb5da103ea8ff80b1dd518394d19f43402b1 100644 (file)
@@ -21,10 +21,11 @@ namespace Content.Server.Construction.Completions
 
         public void PerformAction(EntityUid uid, EntityUid? userUid, IEntityManager entityManager)
         {
+            var containerSys = entityManager.EntitySysManager.GetEntitySystem<SharedContainerSystem>();
+
             if (!entityManager.TryGetComponent(uid, out ContainerManagerComponent? containerManager) ||
-                !containerManager.TryGetContainer(Container, out var container)) return;
+                !containerSys.TryGetContainer(uid, Container, out var container, containerManager)) return;
 
-            var containerSys = entityManager.EntitySysManager.GetEntitySystem<ContainerSystem>();
             var handSys = entityManager.EntitySysManager.GetEntitySystem<HandsSystem>();
 
             HandsComponent? hands = null;
index 989ecc99bda6299e2ff85d31dca9b749faeeb1cb..cdecfa7c900831245e82000ba26ea7d80023f984 100644 (file)
@@ -1,4 +1,4 @@
-using Content.Shared.Construction;
+using Content.Shared.Construction;
 using JetBrains.Annotations;
 
 namespace Content.Server.Construction.Completions
@@ -12,7 +12,17 @@ namespace Content.Server.Construction.Completions
         public void PerformAction(EntityUid uid, EntityUid? userUid, IEntityManager entityManager)
         {
             var transform = entityManager.GetComponent<TransformComponent>(uid);
-            transform.Anchored = Value;
+
+            if (transform.Anchored == Value)
+                return;
+
+            var sys = entityManager.System<SharedTransformSystem>();
+
+            if (Value)
+                sys.AnchorEntity(uid, transform);
+            else
+                sys.Unanchor(uid, transform);
+
         }
     }
 }
index 47941108f539747cccdfb056f237f7334c4d1a82..f1c2f8d58403137d395917968e74700aea6ce2b6 100644 (file)
@@ -15,7 +15,7 @@ namespace Content.Server.Construction.Completions
             var transform = entityManager.GetComponent<TransformComponent>(uid);
 
             if (!transform.Anchored)
-                transform.Coordinates = transform.Coordinates.SnapToGrid(entityManager);
+                entityManager.System<SharedTransformSystem>().SetCoordinates(uid, transform.Coordinates.SnapToGrid(entityManager));
 
             if (SouthRotation)
             {
index cc2b25d1ad0721d0986b839524bbeebf005498f3..7f940f5b3e9dfc844cc0794af8b3eb1c43f3e188 100644 (file)
@@ -1,4 +1,4 @@
-using Content.Shared.Construction;
+using Content.Shared.Construction;
 using Content.Shared.Examine;
 using JetBrains.Annotations;
 using Robust.Server.Containers;
@@ -39,8 +39,9 @@ namespace Content.Server.Construction.Conditions
 
             var entity = args.Examined;
 
-            if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out ContainerManagerComponent? containerManager) ||
-                !containerManager.TryGetContainer(Container, out var container)) return false;
+            var entityManager = IoCManager.Resolve<IEntityManager>();
+            if (!entityManager.TryGetComponent(entity, out ContainerManagerComponent? containerManager) ||
+                !entityManager.System<SharedContainerSystem>().TryGetContainer(entity, Container, out var container, containerManager)) return false;
 
             if (container.ContainedEntities.Count == 0)
                 return false;
index c6e79434f4079894ad537b12ec2b2f8cadb06cb1..cb7d2c98ee04d261285c3beca56fddcfc441cd05 100644 (file)
@@ -32,8 +32,9 @@ namespace Content.Server.Construction.Conditions
 
             var entity = args.Examined;
 
-            if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out ContainerManagerComponent? containerManager) ||
-                !containerManager.TryGetContainer(Container, out var container)) return false;
+            var entityManager = IoCManager.Resolve<IEntityManager>();
+            if (!entityManager.TryGetComponent(entity, out ContainerManagerComponent? containerManager) ||
+                !entityManager.System<SharedContainerSystem>().TryGetContainer(entity, Container, out var container, containerManager)) return false;
 
             if (container.ContainedEntities.Count != 0)
                 return false;
index 4c73cef703d60e55c3668752310cbf2b9433df1d..0027b941f85ce5c7ad5ff34671f241bb7ee8a71d 100644 (file)
@@ -66,10 +66,10 @@ namespace Content.Server.Construction
             if (!Resolve(uid, ref construction, false))
                 return null;
 
-            if (construction.Node is not {} nodeIdentifier)
+            if (construction.Node is not { } nodeIdentifier)
                 return null;
 
-            return GetCurrentGraph(uid, construction) is not {} graph ? null : GetNodeFromGraph(graph, nodeIdentifier);
+            return GetCurrentGraph(uid, construction) is not { } graph ? null : GetNodeFromGraph(graph, nodeIdentifier);
         }
 
         /// <summary>
@@ -85,10 +85,10 @@ namespace Content.Server.Construction
             if (!Resolve(uid, ref construction, false))
                 return null;
 
-            if (construction.EdgeIndex is not {} edgeIndex)
+            if (construction.EdgeIndex is not { } edgeIndex)
                 return null;
 
-            return GetCurrentNode(uid, construction) is not {} node ? null : GetEdgeFromNode(node, edgeIndex);
+            return GetCurrentNode(uid, construction) is not { } node ? null : GetEdgeFromNode(node, edgeIndex);
         }
 
         /// <summary>
@@ -102,7 +102,7 @@ namespace Content.Server.Construction
             if (GetCurrentNode(uid, construction) is not { } node)
                 return (null, null);
 
-            if (construction.EdgeIndex is not {} edgeIndex)
+            if (construction.EdgeIndex is not { } edgeIndex)
                 return (node, null);
 
             return (node, GetEdgeFromNode(node, edgeIndex));
@@ -121,7 +121,7 @@ namespace Content.Server.Construction
             if (!Resolve(uid, ref construction, false))
                 return null;
 
-            if (GetCurrentEdge(uid, construction) is not {} edge)
+            if (GetCurrentEdge(uid, construction) is not { } edge)
                 return null;
 
             return GetStepFromEdge(edge, construction.StepIndex);
@@ -141,10 +141,10 @@ namespace Content.Server.Construction
             if (!Resolve(uid, ref construction))
                 return null;
 
-            if (construction.TargetNode is not {} targetNodeId)
+            if (construction.TargetNode is not { } targetNodeId)
                 return null;
 
-            if (GetCurrentGraph(uid, construction) is not {} graph)
+            if (GetCurrentGraph(uid, construction) is not { } graph)
                 return null;
 
             return GetNodeFromGraph(graph, targetNodeId);
@@ -165,10 +165,10 @@ namespace Content.Server.Construction
             if (!Resolve(uid, ref construction))
                 return null;
 
-            if (construction.TargetEdgeIndex is not {} targetEdgeIndex)
+            if (construction.TargetEdgeIndex is not { } targetEdgeIndex)
                 return null;
 
-            if (GetCurrentNode(uid, construction) is not {} node)
+            if (GetCurrentNode(uid, construction) is not { } node)
                 return null;
 
             return GetEdgeFromNode(node, targetEdgeIndex);
@@ -245,8 +245,8 @@ namespace Content.Server.Construction
             if (!Resolve(uid, ref construction))
                 return false;
 
-            if (GetCurrentGraph(uid, construction) is not {} graph
-            ||  GetNodeFromGraph(graph, id) is not {} node)
+            if (GetCurrentGraph(uid, construction) is not { } graph
+            || GetNodeFromGraph(graph, id) is not { } node)
                 return false;
 
             var oldNode = construction.Node;
@@ -257,11 +257,11 @@ namespace Content.Server.Construction
                     $"{ToPrettyString(userUid.Value):player} changed {ToPrettyString(uid):entity}'s node from \"{oldNode}\" to \"{id}\"");
 
             // ChangeEntity will handle the pathfinding update.
-            if (node.Entity.GetId(uid, userUid, new(EntityManager)) is {} newEntity
+            if (node.Entity.GetId(uid, userUid, new(EntityManager)) is { } newEntity
                 && ChangeEntity(uid, userUid, newEntity, construction) != null)
                 return true;
 
-            if(performActions)
+            if (performActions)
                 PerformActions(uid, userUid, node.Actions);
 
             // An action might have deleted the entity... Account for this.
@@ -347,7 +347,7 @@ namespace Content.Server.Construction
 
                 // Retain the target node if an entity change happens in response to deconstruction;
                 // in that case, we must continue to move towards the start node.
-                if (construction.TargetNode is {} targetNode)
+                if (construction.TargetNode is { } targetNode)
                     SetPathfindingTarget(newUid, targetNode, newConstruction);
             }
 
@@ -358,7 +358,7 @@ namespace Content.Server.Construction
             }
 
             if (newConstruction.InteractionQueue.Count > 0 && _queuedUpdates.Add(newUid))
-                    _constructionUpdateQueue.Enqueue(newUid);
+                _constructionUpdateQueue.Enqueue(newUid);
 
             // Transform transferring.
             var newTransform = Transform(newUid);
@@ -430,7 +430,7 @@ namespace Content.Server.Construction
             if (!PrototypeManager.TryIndex<ConstructionGraphPrototype>(graphId, out var graph))
                 return false;
 
-            if(GetNodeFromGraph(graph, nodeId) is not {})
+            if (GetNodeFromGraph(graph, nodeId) is not { })
                 return false;
 
             construction.Graph = graphId;
index 6cc430b74f6783cbaa729377f1ca54e0867dca15..94bcc26bf841003ca02d0daf4cec5f9f8130cf6e 100644 (file)
@@ -478,7 +478,7 @@ namespace Content.Server.Construction
                 return;
             }
 
-            var mapPos = location.ToMap(EntityManager, _transformSystem);
+            var mapPos = _transformSystem.ToMapCoordinates(location);
             var predicate = GetPredicate(constructionPrototype.CanBuildInImpassable, mapPos);
 
             if (!_interactionSystem.InRangeUnobstructed(user, mapPos, predicate: predicate))
index f32cc19eeaef8cb9d15c26d1737ba493621a6bad..65fc6f59faf3f3e57f984ba31425b45c5335a070 100644 (file)
@@ -24,7 +24,7 @@ namespace Content.Shared.Construction.Conditions
             // get blueprint and user position
             var transformSystem = entManager.System<SharedTransformSystem>();
             var userWorldPosition = transformSystem.GetWorldPosition(user);
-            var objWorldPosition = location.ToMap(entManager, transformSystem).Position;
+            var objWorldPosition = transformSystem.ToMapCoordinates(location).Position;
 
             // find direction from user to blueprint
             var userToObject = (objWorldPosition - userWorldPosition);
index 9c3d6fc9fb3245cdb01595993d862e57f64274f7..a291473b30d885c7c0ec5618ca831758de00aa1d 100644 (file)
@@ -280,7 +280,7 @@ public sealed partial class AnchorableSystem : EntitySystem
     private bool TileFree(EntityCoordinates coordinates, PhysicsComponent anchorBody)
     {
         // Probably ignore CanCollide on the anchoring body?
-        var gridUid = coordinates.GetGridUid(EntityManager);
+        var gridUid = _transformSystem.GetGrid(coordinates);
 
         if (!TryComp<MapGridComponent>(gridUid, out var grid))
             return false;
@@ -329,7 +329,7 @@ public sealed partial class AnchorableSystem : EntitySystem
 
     public bool AnyUnstackablesAnchoredAt(EntityCoordinates location)
     {
-        var gridUid = location.GetGridUid(EntityManager);
+        var gridUid = _transformSystem.GetGrid(location);
 
         if (!TryComp<MapGridComponent>(gridUid, out var grid))
             return false;