]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Code Cleanup: Integration Tests (#29584)
authorTayrtahn <tayrtahn@gmail.com>
Wed, 3 Jul 2024 00:01:37 +0000 (20:01 -0400)
committerGitHub <noreply@github.com>
Wed, 3 Jul 2024 00:01:37 +0000 (10:01 +1000)
* Cleanup PuddleTest

* Cleanup GravityGridTest

* Cleanup PowerTest

* Cleanup SaveLoadMapTest

* Cleanup Body tests

* Cleanup ContainerOcclusionTest

* Cleanup AirlockTest

* Cleanup DamageableTest

* Cleanup EntityTest

* Cleanup FluidSpillTest

* Cleanup FollowerSystemTest

* Cleanup HandCuffTest

* Cleanup InteractionSystemTests

* Cleanup InRangeUnobstructed

* Cleanup SimplePredictReconcileTest

* Cleanup PostMapInitTest

* Cleanup SalvageTest

* Cleanup SaveLoadSaveTest

* Cleanup ShuttleTest

* Cleanup MaterialArbitrageTest

* Cleanup PrototypeSaveTest

* Fix ShuttleTest

* Bunch of small ones

* Move JobTests to Station directory

* More small fixes

* Cleanup InteractionTest.Helpers
Had to change a method signature, so some callers were modified too.

* Missed one

56 files changed:
Content.IntegrationTests/Tests/Actions/ActionsAddedTest.cs
Content.IntegrationTests/Tests/Body/GibTest.cs
Content.IntegrationTests/Tests/Body/LegTest.cs
Content.IntegrationTests/Tests/Body/LungTest.cs
Content.IntegrationTests/Tests/Body/SaveLoadReparentTest.cs
Content.IntegrationTests/Tests/Buckle/BuckleDragTest.cs
Content.IntegrationTests/Tests/CargoTest.cs
Content.IntegrationTests/Tests/Chemistry/FixedPoint2SerializationTest.cs
Content.IntegrationTests/Tests/Chemistry/SolutionRoundingTest.cs
Content.IntegrationTests/Tests/Chemistry/SolutionSystemTests.cs
Content.IntegrationTests/Tests/Chemistry/TryAllReactionsTest.cs
Content.IntegrationTests/Tests/Commands/PardonCommand.cs
Content.IntegrationTests/Tests/Commands/RejuvenateTest.cs
Content.IntegrationTests/Tests/Commands/RestartRoundTest.cs
Content.IntegrationTests/Tests/ContainerOcclusionTest.cs
Content.IntegrationTests/Tests/Damageable/DamageSpecifierTest.cs
Content.IntegrationTests/Tests/Damageable/DamageableTest.cs
Content.IntegrationTests/Tests/Doors/AirlockTest.cs
Content.IntegrationTests/Tests/DummyIconTest.cs
Content.IntegrationTests/Tests/EntityTest.cs
Content.IntegrationTests/Tests/Fluids/FluidSpillTest.cs
Content.IntegrationTests/Tests/Fluids/PuddleTest.cs
Content.IntegrationTests/Tests/FollowerSystemTest.cs
Content.IntegrationTests/Tests/GameObjects/Components/ActionBlocking/HandCuffTest.cs
Content.IntegrationTests/Tests/GameRules/AntagPreferenceTest.cs
Content.IntegrationTests/Tests/GameRules/FailAndStartPresetTest.cs
Content.IntegrationTests/Tests/GravityGridTest.cs
Content.IntegrationTests/Tests/Interaction/Click/InteractionSystemTests.cs
Content.IntegrationTests/Tests/Interaction/InRangeUnobstructed.cs
Content.IntegrationTests/Tests/Interaction/InteractionTest.Helpers.cs
Content.IntegrationTests/Tests/Interaction/InteractionTest.cs
Content.IntegrationTests/Tests/Linter/StaticFieldValidationTest.cs
Content.IntegrationTests/Tests/MachineBoardTest.cs
Content.IntegrationTests/Tests/Mapping/MappingTests.cs
Content.IntegrationTests/Tests/MaterialArbitrageTest.cs
Content.IntegrationTests/Tests/Minds/GhostTests.cs
Content.IntegrationTests/Tests/Minds/MindTests.Helpers.cs
Content.IntegrationTests/Tests/Movement/BuckleMovementTest.cs
Content.IntegrationTests/Tests/Movement/MovementTest.cs
Content.IntegrationTests/Tests/Networking/PvsCommandTest.cs
Content.IntegrationTests/Tests/Networking/SimplePredictReconcileTest.cs
Content.IntegrationTests/Tests/PostMapInitTest.cs
Content.IntegrationTests/Tests/Power/PowerTest.cs
Content.IntegrationTests/Tests/PrototypeSaveTest.cs
Content.IntegrationTests/Tests/Puller/PullerTest.cs
Content.IntegrationTests/Tests/ResearchTest.cs
Content.IntegrationTests/Tests/Round/JobTest.cs
Content.IntegrationTests/Tests/SalvageTest.cs
Content.IntegrationTests/Tests/SaveLoadMapTest.cs
Content.IntegrationTests/Tests/SaveLoadSaveTest.cs
Content.IntegrationTests/Tests/Serialization/SerializationTest.cs
Content.IntegrationTests/Tests/ShuttleTest.cs
Content.IntegrationTests/Tests/Sprite/ItemSpriteTest.cs
Content.IntegrationTests/Tests/Station/JobTests.cs [moved from Content.IntegrationTests/Tests/Minds/JobTests.cs with 100% similarity]
Content.IntegrationTests/Tests/Toolshed/ToolshedTest.cs
Content.IntegrationTests/Tests/VendingMachineRestockTest.cs

index 32b152522618579be5ceeb3a5ea57074c65fd037..c232e823132a0f0343561394f05c9ace5c0495e4 100644 (file)
@@ -18,7 +18,7 @@ public sealed class ActionsAddedTest
     [Test]
     public async Task TestCombatActionsAdded()
     {
-        await using var pair = await PoolManager.GetServerClient(new PoolSettings { Connected = true, DummyTicker = false});
+        await using var pair = await PoolManager.GetServerClient(new PoolSettings { Connected = true, DummyTicker = false });
         var server = pair.Server;
         var client = pair.Client;
         var sEntMan = server.ResolveDependency<IEntityManager>();
index c0032a852445e360bb9ca3ac6ae106e9b792ffa2..4627c79f64deb864c811927b3fa1b480708501cc 100644 (file)
@@ -5,7 +5,7 @@ using Robust.Shared.GameObjects;
 namespace Content.IntegrationTests.Tests.Body;
 
 [TestFixture]
-public sealed  class GibTest
+public sealed class GibTest
 {
     [Test]
     public async Task TestGib()
index e86966f8f54e18277f4bc35e724e1d7fb3e3cfe5..7b49bbe84a31ea3026eb75c6ee879c0e5b05dc0a 100644 (file)
@@ -5,7 +5,6 @@ using Content.Shared.Body.Part;
 using Content.Shared.Rotation;
 using Robust.Shared.GameObjects;
 using Robust.Shared.Map;
-using Robust.Shared.Maths;
 
 namespace Content.IntegrationTests.Tests.Body
 {
@@ -40,13 +39,14 @@ namespace Content.IntegrationTests.Tests.Body
             var appearanceSystem = entityManager.System<SharedAppearanceSystem>();
             var xformSystem = entityManager.System<SharedTransformSystem>();
 
+            var map = await pair.CreateTestMap();
+
             await server.WaitAssertion(() =>
             {
-                var mapId = mapManager.CreateMap();
                 BodyComponent body = null;
 
                 human = entityManager.SpawnEntity("HumanBodyAndAppearanceDummy",
-                    new MapCoordinates(Vector2.Zero, mapId));
+                    new MapCoordinates(Vector2.Zero, map.MapId));
 
                 Assert.Multiple(() =>
                 {
@@ -61,7 +61,7 @@ namespace Content.IntegrationTests.Tests.Body
 
                 foreach (var leg in legs)
                 {
-                    xformSystem.DetachParentToNull(leg.Id, entityManager.GetComponent<TransformComponent>(leg.Id));
+                    xformSystem.DetachEntity(leg.Id, entityManager.GetComponent<TransformComponent>(leg.Id));
                 }
             });
 
index dce3741c98dcf7f8412e3b9197a784336547b20d..9b5ee431f1fa9bb3dab2abb5e9d5c99606f75bda 100644 (file)
@@ -60,8 +60,8 @@ namespace Content.IntegrationTests.Tests.Body
             var mapManager = server.ResolveDependency<IMapManager>();
             var entityManager = server.ResolveDependency<IEntityManager>();
             var mapLoader = entityManager.System<MapLoaderSystem>();
+            var mapSys = entityManager.System<SharedMapSystem>();
 
-            MapId mapId;
             EntityUid? grid = null;
             BodyComponent body = default;
             RespiratorComponent resp = default;
@@ -73,7 +73,7 @@ namespace Content.IntegrationTests.Tests.Body
 
             await server.WaitPost(() =>
             {
-                mapId = mapManager.CreateMap();
+                mapSys.CreateMap(out var mapId);
                 Assert.That(mapLoader.TryLoad(mapId, testMapName, out var roots));
 
                 var query = entityManager.GetEntityQuery<MapGridComponent>();
@@ -142,8 +142,8 @@ namespace Content.IntegrationTests.Tests.Body
             var entityManager = server.ResolveDependency<IEntityManager>();
             var cfg = server.ResolveDependency<IConfigurationManager>();
             var mapLoader = entityManager.System<MapLoaderSystem>();
+            var mapSys = entityManager.System<SharedMapSystem>();
 
-            MapId mapId;
             EntityUid? grid = null;
             RespiratorComponent respirator = null;
             EntityUid human = default;
@@ -152,7 +152,7 @@ namespace Content.IntegrationTests.Tests.Body
 
             await server.WaitPost(() =>
             {
-                mapId = mapManager.CreateMap();
+                mapSys.CreateMap(out var mapId);
 
                 Assert.That(mapLoader.TryLoad(mapId, testMapName, out var ents), Is.True);
                 var query = entityManager.GetEntityQuery<MapGridComponent>();
index 670ce1a474da4e74bfb589dee25fc255ee3b36f8..01482ba8ee217b79cf685da6994dcf6aa410b76e 100644 (file)
@@ -33,10 +33,11 @@ public sealed class SaveLoadReparentTest
         var mapLoader = entities.System<MapLoaderSystem>();
         var bodySystem = entities.System<SharedBodySystem>();
         var containerSystem = entities.System<SharedContainerSystem>();
+        var mapSys = entities.System<SharedMapSystem>();
 
         await server.WaitAssertion(() =>
         {
-            var mapId = maps.CreateMap();
+            mapSys.CreateMap(out var mapId);
             maps.CreateGrid(mapId);
             var human = entities.SpawnEntity("HumanBodyDummy", new MapCoordinates(0, 0, mapId));
 
@@ -115,7 +116,7 @@ public sealed class SaveLoadReparentTest
             mapLoader.SaveMap(mapId, mapPath);
             maps.DeleteMap(mapId);
 
-            mapId = maps.CreateMap();
+            mapSys.CreateMap(out mapId);
             Assert.That(mapLoader.TryLoad(mapId, mapPath, out _), Is.True);
 
             var query = EnumerateQueryEnumerator(
index 8df151d5a0e354ddb9ca3d5de992ac90488a8559..82d5d3baa04c1c13511c2e962306982f3fcc3556 100644 (file)
@@ -38,13 +38,13 @@ public sealed class BuckleDragTest : InteractionTest
         await RunTicks(5);
         Assert.That(buckle.Buckled, Is.True);
         Assert.That(buckle.BuckledTo, Is.EqualTo(STarget));
-        Assert.That(strap.BuckledEntities, Is.EquivalentTo(new[]{sUrist}));
+        Assert.That(strap.BuckledEntities, Is.EquivalentTo(new[] { sUrist }));
         Assert.That(puller.Pulling, Is.Null);
         Assert.That(pullable.Puller, Is.Null);
         Assert.That(pullable.BeingPulled, Is.False);
 
         // Start pulling, and thus unbuckle them
-        await PressKey(ContentKeyFunctions.TryPullObject, cursorEntity:urist);
+        await PressKey(ContentKeyFunctions.TryPullObject, cursorEntity: urist);
         await RunTicks(5);
         Assert.That(buckle.Buckled, Is.False);
         Assert.That(buckle.BuckledTo, Is.Null);
index 8e1d536054f2b9babd101784846e2ebee7d904ae..89018d9d17c66cca659b3154cea72a124b366a60 100644 (file)
@@ -19,11 +19,11 @@ namespace Content.IntegrationTests.Tests;
 [TestFixture]
 public sealed class CargoTest
 {
-    public static HashSet<ProtoId<CargoProductPrototype>> Ignored = new ()
-    {
+    private static readonly HashSet<ProtoId<CargoProductPrototype>> Ignored =
+    [
         // This is ignored because it is explicitly intended to be able to sell for more than it costs.
         new("FunCrateGambling")
-    };
+    ];
 
     [Test]
     public async Task NoCargoOrderArbitrage()
index 8e3b89bff11b439644405f4bd9c27406cda21a8b..0e3f89c2825d29d057de289fce9e678eed1b31a4 100644 (file)
@@ -9,10 +9,10 @@ namespace Content.IntegrationTests.Tests.Chemistry
 {
     public sealed class FixedPoint2SerializationTest : SerializationTest
     {
-        protected override Assembly[] Assemblies => new[]
-        {
+        protected override Assembly[] Assemblies =>
+        [
             typeof(FixedPoint2SerializationTest).Assembly
-        };
+        ];
 
         [Test]
         public void DeserializeNullTest()
@@ -53,6 +53,6 @@ namespace Content.IntegrationTests.Tests.Chemistry
     [DataDefinition]
     public sealed partial class FixedPoint2TestDefinition
     {
-        [DataField("unit")] public FixedPoint2? Unit { get; set; } = FixedPoint2.New(5);
+        [DataField] public FixedPoint2? Unit { get; set; } = FixedPoint2.New(5);
     }
 }
index 4d19a96d9e7eaec26fb701c3be39580689f7c013..89d33186a2735d1f0f44374ef3e7b038b04d5651 100644 (file)
@@ -1,5 +1,5 @@
-using Content.Server.Chemistry.Containers.EntitySystems;
 using Content.Shared.Chemistry.Components;
+using Content.Shared.Chemistry.EntitySystems;
 using Content.Shared.Chemistry.Reaction;
 using Content.Shared.Chemistry.Reagent;
 using Content.Shared.FixedPoint;
@@ -76,7 +76,7 @@ public sealed class SolutionRoundingTest
 
         await server.WaitPost(() =>
         {
-            var system = server.System<SolutionContainerSystem>();
+            var system = server.System<SharedSolutionContainerSystem>();
             var beaker = server.EntMan.SpawnEntity("SolutionRoundingTestContainer", testMap.GridCoords);
 
             system.TryGetSolution(beaker, "beaker", out var newSolutionEnt, out var newSolution);
index d96a035b2dc65abc61b923bb0715e2e8f829ea80..6b71dd08be0018f18856455b24b81878b581b35d 100644 (file)
@@ -1,5 +1,5 @@
-using Content.Server.Chemistry.Containers.EntitySystems;
 using Content.Shared.Chemistry.Components;
+using Content.Shared.Chemistry.EntitySystems;
 using Content.Shared.FixedPoint;
 using Robust.Shared.GameObjects;
 using Robust.Shared.Prototypes;
@@ -11,7 +11,7 @@ namespace Content.IntegrationTests.Tests.Chemistry;
 // To ensure volume(A) + volume(B) = volume(A+B)
 // reactions can change this assumption
 [TestFixture]
-[TestOf(typeof(SolutionContainerSystem))]
+[TestOf(typeof(SharedSolutionContainerSystem))]
 public sealed class SolutionSystemTests
 {
     [TestPrototypes]
@@ -51,7 +51,7 @@ public sealed class SolutionSystemTests
 
         var entityManager = server.ResolveDependency<IEntityManager>();
         var protoMan = server.ResolveDependency<IPrototypeManager>();
-        var containerSystem = entityManager.System<SolutionContainerSystem>();
+        var containerSystem = entityManager.System<SharedSolutionContainerSystem>();
         var testMap = await pair.CreateTestMap();
         var coordinates = testMap.GridCoords;
 
@@ -97,7 +97,7 @@ public sealed class SolutionSystemTests
 
         var entityManager = server.ResolveDependency<IEntityManager>();
         var protoMan = server.ResolveDependency<IPrototypeManager>();
-        var containerSystem = entityManager.System<SolutionContainerSystem>();
+        var containerSystem = entityManager.System<SharedSolutionContainerSystem>();
         var coordinates = testMap.GridCoords;
 
         EntityUid beaker;
@@ -141,7 +141,7 @@ public sealed class SolutionSystemTests
         var entityManager = server.ResolveDependency<IEntityManager>();
         var protoMan = server.ResolveDependency<IPrototypeManager>();
         var testMap = await pair.CreateTestMap();
-        var containerSystem = entityManager.System<SolutionContainerSystem>();
+        var containerSystem = entityManager.System<SharedSolutionContainerSystem>();
         var coordinates = testMap.GridCoords;
 
         EntityUid beaker;
@@ -194,7 +194,7 @@ public sealed class SolutionSystemTests
 
         var entityManager = server.ResolveDependency<IEntityManager>();
         var protoMan = server.ResolveDependency<IPrototypeManager>();
-        var containerSystem = entityManager.System<SolutionContainerSystem>();
+        var containerSystem = entityManager.System<SharedSolutionContainerSystem>();
         var testMap = await pair.CreateTestMap();
         var coordinates = testMap.GridCoords;
 
index ddfe7b3481e37480d734e6d2c20c0c914c82b6a2..3664cda922a5278d02fe2267b1c137bfcd26aa71 100644 (file)
@@ -1,4 +1,3 @@
-using Content.Server.Chemistry.Containers.EntitySystems;
 using Content.Shared.Chemistry.Reaction;
 using Content.Shared.Chemistry.Components;
 using Robust.Shared.GameObjects;
@@ -6,6 +5,7 @@ using Robust.Shared.Map;
 using Robust.Shared.Prototypes;
 using Robust.Shared.Utility;
 using System.Linq;
+using Content.Shared.Chemistry.EntitySystems;
 
 namespace Content.IntegrationTests.Tests.Chemistry
 {
@@ -34,7 +34,7 @@ namespace Content.IntegrationTests.Tests.Chemistry
             var prototypeManager = server.ResolveDependency<IPrototypeManager>();
             var testMap = await pair.CreateTestMap();
             var coordinates = testMap.GridCoords;
-            var solutionContainerSystem = entityManager.System<SolutionContainerSystem>();
+            var solutionContainerSystem = entityManager.System<SharedSolutionContainerSystem>();
 
             foreach (var reactionPrototype in prototypeManager.EnumeratePrototypes<ReactionPrototype>())
             {
index b3a66e3211cc841458fdfe22aaad7e60a9f32c3b..4db9eabf5c6b8570ace80dcfd3375dd8dc47344d 100644 (file)
@@ -28,7 +28,7 @@ namespace Content.IntegrationTests.Tests.Commands
 
             Assert.That(netMan.IsConnected);
 
-            Assert.That(sPlayerManager.Sessions.Count(), Is.EqualTo(1));
+            Assert.That(sPlayerManager.Sessions, Has.Length.EqualTo(1));
             // No bans on record
             Assert.Multiple(async () =>
             {
@@ -50,7 +50,7 @@ namespace Content.IntegrationTests.Tests.Commands
 
             var banReason = "test";
 
-            Assert.That(sPlayerManager.Sessions.Count(), Is.EqualTo(1));
+            Assert.That(sPlayerManager.Sessions, Has.Length.EqualTo(1));
             // Ban the client for 24 hours
             await server.WaitPost(() => sConsole.ExecuteCommand($"ban {clientSession.Name} {banReason} 1440"));
 
@@ -63,7 +63,7 @@ namespace Content.IntegrationTests.Tests.Commands
             });
 
             await pair.RunTicksSync(5);
-            Assert.That(sPlayerManager.Sessions.Count(), Is.EqualTo(0));
+            Assert.That(sPlayerManager.Sessions, Has.Length.EqualTo(0));
             Assert.That(!netMan.IsConnected);
 
             // Try to pardon a ban that does not exist
@@ -143,11 +143,11 @@ namespace Content.IntegrationTests.Tests.Commands
             });
 
             // Reconnect client. Slightly faster than dirtying the pair.
-            Assert.That(sPlayerManager.Sessions.Count(), Is.EqualTo(0));
+            Assert.That(sPlayerManager.Sessions, Is.Empty);
             client.SetConnectTarget(server);
             await client.WaitPost(() => netMan.ClientConnect(null!, 0, null!));
             await pair.RunTicksSync(5);
-            Assert.That(sPlayerManager.Sessions.Count(), Is.EqualTo(1));
+            Assert.That(sPlayerManager.Sessions, Has.Length.EqualTo(1));
 
             await pair.CleanReturnAsync();
         }
index 2fda3ad58e6bef8b6efde19417a2df5d1e048ace..cfc80073066979628e6168479ca755e2e6dd247f 100644 (file)
@@ -37,9 +37,9 @@ namespace Content.IntegrationTests.Tests.Commands
             var server = pair.Server;
             var entManager = server.ResolveDependency<IEntityManager>();
             var prototypeManager = server.ResolveDependency<IPrototypeManager>();
-            var mobStateSystem = entManager.EntitySysManager.GetEntitySystem<MobStateSystem>();
-            var damSystem = entManager.EntitySysManager.GetEntitySystem<DamageableSystem>();
-            var rejuvenateSystem = entManager.EntitySysManager.GetEntitySystem<RejuvenateSystem>();
+            var mobStateSystem = entManager.System<MobStateSystem>();
+            var damSystem = entManager.System<DamageableSystem>();
+            var rejuvenateSystem = entManager.System<RejuvenateSystem>();
 
             await server.WaitAssertion(() =>
             {
index ff24ec09686130521ac85c075c59d5492d2ecea2..72a05b5246f7bc86e82e5292ed4ded7f3f58e72c 100644 (file)
@@ -26,7 +26,7 @@ namespace Content.IntegrationTests.Tests.Commands
 
             var configManager = server.ResolveDependency<IConfigurationManager>();
             var entityManager = server.ResolveDependency<IEntityManager>();
-            var gameTicker = entityManager.EntitySysManager.GetEntitySystem<GameTicker>();
+            var gameTicker = entityManager.System<GameTicker>();
 
             await pair.RunTicksSync(5);
 
index c61a70faf0b5bffd7144c87c21deb31cc508a4eb..37c4b0c9b5755edacbe263d65e6e7ceaafbb1171 100644 (file)
@@ -43,11 +43,11 @@ namespace Content.IntegrationTests.Tests
 
             EntityUid dummy = default;
             var mapManager = server.ResolveDependency<IMapManager>();
-            var mapId = mapManager.CreateMap();
+            var map = await pair.CreateTestMap();
 
             await server.WaitPost(() =>
             {
-                var pos = new MapCoordinates(Vector2.Zero, mapId);
+                var pos = new MapCoordinates(Vector2.Zero, map.MapId);
                 var entStorage = serverEntManager.EntitySysManager.GetEntitySystem<EntityStorageSystem>();
                 var container = serverEntManager.SpawnEntity("ContainerOcclusionA", pos);
                 dummy = serverEntManager.SpawnEntity("ContainerOcclusionDummy", pos);
@@ -85,11 +85,12 @@ namespace Content.IntegrationTests.Tests
 
             EntityUid dummy = default;
             var mapManager = server.ResolveDependency<IMapManager>();
-            var mapId = mapManager.CreateMap();
+
+            var map = await pair.CreateTestMap();
 
             await server.WaitPost(() =>
             {
-                var pos = new MapCoordinates(Vector2.Zero, mapId);
+                var pos = new MapCoordinates(Vector2.Zero, map.MapId);
                 var entStorage = serverEntManager.EntitySysManager.GetEntitySystem<EntityStorageSystem>();
                 var container = serverEntManager.SpawnEntity("ContainerOcclusionB", pos);
                 dummy = serverEntManager.SpawnEntity("ContainerOcclusionDummy", pos);
@@ -127,11 +128,12 @@ namespace Content.IntegrationTests.Tests
 
             EntityUid dummy = default;
             var mapManager = server.ResolveDependency<IMapManager>();
-            var mapId = mapManager.CreateMap();
+
+            var map = await pair.CreateTestMap();
 
             await server.WaitPost(() =>
             {
-                var pos = new MapCoordinates(Vector2.Zero, mapId);
+                var pos = new MapCoordinates(Vector2.Zero, map.MapId);
                 var entStorage = serverEntManager.EntitySysManager.GetEntitySystem<EntityStorageSystem>();
                 var containerA = serverEntManager.SpawnEntity("ContainerOcclusionA", pos);
                 var containerB = serverEntManager.SpawnEntity("ContainerOcclusionB", pos);
index 41d17ddedae4c5d87ad2e5f2ae9c608156673a24..bd5cac05dd14d2bd22358db2eb022d45aaa1d203 100644 (file)
@@ -14,39 +14,39 @@ public sealed class DamageSpecifierTest
         // Test basic math operations.
         // I've already nearly broken these once. When editing the operators.
 
-        DamageSpecifier input1 = new() { DamageDict = _input1 };
-        DamageSpecifier input2 = new() { DamageDict = _input2 };
-        DamageSpecifier output1 = new() { DamageDict = _output1 };
-        DamageSpecifier output2 = new() { DamageDict = _output2 };
-        DamageSpecifier output3 = new() { DamageDict = _output3 };
-        DamageSpecifier output4 = new() { DamageDict = _output4 };
-        DamageSpecifier output5 = new() { DamageDict = _output5 };
+        DamageSpecifier input1 = new() { DamageDict = Input1 };
+        DamageSpecifier input2 = new() { DamageDict = Input2 };
+        DamageSpecifier output1 = new() { DamageDict = Output1 };
+        DamageSpecifier output2 = new() { DamageDict = Output2 };
+        DamageSpecifier output3 = new() { DamageDict = Output3 };
+        DamageSpecifier output4 = new() { DamageDict = Output4 };
+        DamageSpecifier output5 = new() { DamageDict = Output5 };
 
         Assert.Multiple(() =>
         {
-            Assert.That((-input1).Equals(output1));
-            Assert.That((input1 / 2).Equals(output2));
-            Assert.That((input1 * 2).Equals(output3));
+            Assert.That(-input1, Is.EqualTo(output1));
+            Assert.That(input1 / 2, Is.EqualTo(output2));
+            Assert.That(input1 * 2, Is.EqualTo(output3));
         });
 
-        var difference = (input1 - input2);
-        Assert.That(difference.Equals(output4));
+        var difference = input1 - input2;
+        Assert.That(difference, Is.EqualTo(output4));
 
-        var difference2 = (-input2) + input1;
-        Assert.That(difference.Equals(difference2));
+        var difference2 = -input2 + input1;
+        Assert.That(difference, Is.EqualTo(difference2));
 
         difference.Clamp(-0.25f, 0.25f);
-        Assert.That(difference.Equals(output5));
+        Assert.That(difference, Is.EqualTo(output5));
     }
 
-    static Dictionary<string, FixedPoint2> _input1 = new()
+    private static readonly Dictionary<string, FixedPoint2> Input1 = new()
     {
         { "A", 1.5f },
         { "B", 2 },
         { "C", 3 }
     };
 
-    static Dictionary<string, FixedPoint2> _input2 = new()
+    private static readonly Dictionary<string, FixedPoint2> Input2 = new()
     {
         { "A", 1 },
         { "B", 2 },
@@ -54,28 +54,28 @@ public sealed class DamageSpecifierTest
         { "D", 0.05f }
     };
 
-    static Dictionary<string, FixedPoint2> _output1 = new()
+    private static readonly Dictionary<string, FixedPoint2> Output1 = new()
     {
         { "A", -1.5f },
         { "B", -2 },
         { "C", -3 }
     };
 
-    static Dictionary<string, FixedPoint2> _output2 = new()
+    private static readonly Dictionary<string, FixedPoint2> Output2 = new()
     {
         { "A", 0.75f },
         { "B", 1 },
         { "C", 1.5 }
     };
 
-    static Dictionary<string, FixedPoint2> _output3 = new()
+    private static readonly Dictionary<string, FixedPoint2> Output3 = new()
     {
         { "A", 3f },
         { "B", 4 },
         { "C", 6 }
     };
 
-    static Dictionary<string, FixedPoint2> _output4 = new()
+    private static readonly Dictionary<string, FixedPoint2> Output4 = new()
     {
         { "A", 0.5f },
         { "B", 0 },
@@ -83,7 +83,7 @@ public sealed class DamageSpecifierTest
         { "D", -0.05f }
     };
 
-    static Dictionary<string, FixedPoint2> _output5 = new()
+    private static readonly Dictionary<string, FixedPoint2> Output5 = new()
     {
         { "A", 0.25f },
         { "B", 0 },
index c40b8ed286f6661e2d6b74d01fbfdab26cf654bb..69069fc82fee28573379dc0d9ca05fd447ce42b1 100644 (file)
@@ -107,10 +107,11 @@ namespace Content.IntegrationTests.Tests.Damageable
 
             FixedPoint2 typeDamage;
 
+            var map = await pair.CreateTestMap();
+
             await server.WaitPost(() =>
             {
-                var map = sMapManager.CreateMap();
-                var coordinates = new MapCoordinates(0, 0, map);
+                var coordinates = map.MapCoords;
 
                 sDamageableEntity = sEntityManager.SpawnEntity("TestDamageableEntityId", coordinates);
                 sDamageableComponent = sEntityManager.GetComponent<DamageableComponent>(sDamageableEntity);
index 2fbaa91456f595a1b237d287f378f76936e157d8..e47c73611a4145adbc32ca94da8a7d498d54a2cb 100644 (file)
@@ -123,24 +123,24 @@ namespace Content.IntegrationTests.Tests.Doors
             var xformSystem = entityManager.System<SharedTransformSystem>();
 
             PhysicsComponent physBody = null;
-            EntityUid AirlockPhysicsDummy = default;
+            EntityUid airlockPhysicsDummy = default;
             EntityUid airlock = default;
             DoorComponent doorComponent = null;
 
-            var AirlockPhysicsDummyStartingX = -1;
+            var airlockPhysicsDummyStartingX = -1;
+
+            var map = await pair.CreateTestMap();
 
             await server.WaitAssertion(() =>
             {
-                var mapId = mapManager.CreateMap();
-
-                var humanCoordinates = new MapCoordinates(new Vector2(AirlockPhysicsDummyStartingX, 0), mapId);
-                AirlockPhysicsDummy = entityManager.SpawnEntity("AirlockPhysicsDummy", humanCoordinates);
+                var humanCoordinates = new MapCoordinates(new Vector2(airlockPhysicsDummyStartingX, 0), map.MapId);
+                airlockPhysicsDummy = entityManager.SpawnEntity("AirlockPhysicsDummy", humanCoordinates);
 
-                airlock = entityManager.SpawnEntity("AirlockDummy", new MapCoordinates(new Vector2(0, 0), mapId));
+                airlock = entityManager.SpawnEntity("AirlockDummy", new MapCoordinates(new Vector2(0, 0), map.MapId));
 
                 Assert.Multiple(() =>
                 {
-                    Assert.That(entityManager.TryGetComponent(AirlockPhysicsDummy, out physBody), Is.True);
+                    Assert.That(entityManager.TryGetComponent(airlockPhysicsDummy, out physBody), Is.True);
                     Assert.That(entityManager.TryGetComponent(airlock, out doorComponent), Is.True);
                 });
                 Assert.That(doorComponent.State, Is.EqualTo(DoorState.Closed));
@@ -152,7 +152,7 @@ namespace Content.IntegrationTests.Tests.Doors
             await server.WaitAssertion(() => Assert.That(physBody, Is.Not.EqualTo(null)));
             await server.WaitPost(() =>
             {
-                physicsSystem.SetLinearVelocity(AirlockPhysicsDummy, new Vector2(0.5f, 0f), body: physBody);
+                physicsSystem.SetLinearVelocity(airlockPhysicsDummy, new Vector2(0.5f, 0f), body: physBody);
             });
 
             for (var i = 0; i < 240; i += 10)
@@ -176,7 +176,7 @@ namespace Content.IntegrationTests.Tests.Doors
             // Blocked by the airlock
             await server.WaitAssertion(() =>
             {
-                Assert.That(Math.Abs(xformSystem.GetWorldPosition(AirlockPhysicsDummy).X - 1), Is.GreaterThan(0.01f));
+                Assert.That(Math.Abs(xformSystem.GetWorldPosition(airlockPhysicsDummy).X - 1), Is.GreaterThan(0.01f));
             });
             await pair.CleanReturnAsync();
         }
index a11191a51ea3494d5ffb2a3ccd4bd502c603d21e..df2d28a2ea27dde014a2c77473d4870ec7aa0624 100644 (file)
@@ -21,7 +21,7 @@ namespace Content.IntegrationTests.Tests
             {
                 foreach (var proto in prototypeManager.EnumeratePrototypes<EntityPrototype>())
                 {
-                    if (proto.NoSpawn || proto.Abstract || pair.IsTestPrototype(proto) || !proto.Components.ContainsKey("Sprite"))
+                    if (proto.HideSpawnMenu || proto.Abstract || pair.IsTestPrototype(proto) || !proto.Components.ContainsKey("Sprite"))
                         continue;
 
                     Assert.DoesNotThrow(() =>
index 1fc739fb0c70bca12cdac8bbbc55ef12f2018121..42bea8989cdf4bd9e0dc0ad5d15e423bcc9cdfa0 100644 (file)
@@ -1,15 +1,11 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Numerics;
-using Content.Server.Humanoid.Components;
-using Content.Shared.Coordinates;
-using Content.Shared.Prototypes;
 using Robust.Shared;
 using Robust.Shared.Configuration;
 using Robust.Shared.GameObjects;
 using Robust.Shared.Log;
 using Robust.Shared.Map;
-using Robust.Shared.Map.Components;
 using Robust.Shared.Maths;
 using Robust.Shared.Prototypes;
 
@@ -47,7 +43,7 @@ namespace Content.IntegrationTests.Tests
 
                 foreach (var protoId in protoIds)
                 {
-                    var mapId = mapManager.CreateMap();
+                    mapSystem.CreateMap(out var mapId);
                     var grid = mapManager.CreateGridEntity(mapId);
                     // TODO: Fix this better in engine.
                     mapSystem.SetTile(grid.Owner, grid.Comp, Vector2i.Zero, new Tile(1));
@@ -155,6 +151,7 @@ namespace Content.IntegrationTests.Tests
             var prototypeMan = server.ResolveDependency<IPrototypeManager>();
             var mapManager = server.ResolveDependency<IMapManager>();
             var sEntMan = server.ResolveDependency<IEntityManager>();
+            var mapSys = server.System<SharedMapSystem>();
 
             Assert.That(cfg.GetCVar(CVars.NetPVS), Is.False);
 
@@ -170,7 +167,7 @@ namespace Content.IntegrationTests.Tests
             {
                 foreach (var protoId in protoIds)
                 {
-                    var mapId = mapManager.CreateMap();
+                    mapSys.CreateMap(out var mapId);
                     var grid = mapManager.CreateGridEntity(mapId);
                     var ent = sEntMan.SpawnEntity(protoId, new EntityCoordinates(grid.Owner, 0.5f, 0.5f));
                     foreach (var (_, component) in sEntMan.GetNetComponents(ent))
@@ -227,6 +224,7 @@ namespace Content.IntegrationTests.Tests
             var settings = new PoolSettings { Connected = true, Dirty = true };
             await using var pair = await PoolManager.GetServerClient(settings);
             var mapManager = pair.Server.ResolveDependency<IMapManager>();
+            var mapSys = pair.Server.System<SharedMapSystem>();
             var server = pair.Server;
             var client = pair.Client;
 
@@ -256,7 +254,7 @@ namespace Content.IntegrationTests.Tests
 
             await server.WaitPost(() =>
             {
-               mapId = mapManager.CreateMap();
+                mapSys.CreateMap(out mapId);
             });
 
             var coords = new MapCoordinates(Vector2.Zero, mapId);
index 6e88d6928e6a9f040ab5de6f2ace163456099666..d6f9bf359860ddac540f90f8859ef4c70119a191 100644 (file)
@@ -16,14 +16,15 @@ namespace Content.IntegrationTests.Tests.Fluids;
 [TestOf(typeof(SpreaderSystem))]
 public sealed class FluidSpill
 {
-    private static PuddleComponent? GetPuddle(IEntityManager entityManager, MapGridComponent mapGrid, Vector2i pos)
+    private static PuddleComponent? GetPuddle(IEntityManager entityManager, Entity<MapGridComponent> mapGrid, Vector2i pos)
     {
         return GetPuddleEntity(entityManager, mapGrid, pos)?.Comp;
     }
 
-    private static Entity<PuddleComponent>? GetPuddleEntity(IEntityManager entityManager, MapGridComponent mapGrid, Vector2i pos)
+    private static Entity<PuddleComponent>? GetPuddleEntity(IEntityManager entityManager, Entity<MapGridComponent> mapGrid, Vector2i pos)
     {
-        foreach (var uid in mapGrid.GetAnchoredEntities(pos))
+        var mapSys = entityManager.System<SharedMapSystem>();
+        foreach (var uid in mapSys.GetAnchoredEntities(mapGrid, mapGrid.Comp, pos))
         {
             if (entityManager.TryGetComponent(uid, out PuddleComponent? puddleComponent))
                 return (uid, puddleComponent);
@@ -39,9 +40,9 @@ public sealed class FluidSpill
         var server = pair.Server;
         var mapManager = server.ResolveDependency<IMapManager>();
         var entityManager = server.ResolveDependency<IEntityManager>();
-        var puddleSystem = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<PuddleSystem>();
+        var puddleSystem = server.System<PuddleSystem>();
+        var mapSystem = server.System<SharedMapSystem>();
         var gameTiming = server.ResolveDependency<IGameTiming>();
-        MapId mapId;
         EntityUid gridId = default;
 
         /*
@@ -52,7 +53,7 @@ public sealed class FluidSpill
         */
         await server.WaitPost(() =>
         {
-            mapId = mapManager.CreateMap();
+            mapSystem.CreateMap(out var mapId);
             var grid = mapManager.CreateGridEntity(mapId);
             gridId = grid.Owner;
 
@@ -60,12 +61,12 @@ public sealed class FluidSpill
             {
                 for (var y = 0; y < 3; y++)
                 {
-                    grid.Comp.SetTile(new Vector2i(x, y), new Tile(1));
+                    mapSystem.SetTile(grid, new Vector2i(x, y), new Tile(1));
                 }
             }
 
-            entityManager.SpawnEntity("WallReinforced", grid.Comp.GridTileToLocal(new Vector2i(0, 1)));
-            entityManager.SpawnEntity("WallReinforced", grid.Comp.GridTileToLocal(new Vector2i(1, 0)));
+            entityManager.SpawnEntity("WallReinforced", mapSystem.GridTileToLocal(grid, grid.Comp, new Vector2i(0, 1)));
+            entityManager.SpawnEntity("WallReinforced", mapSystem.GridTileToLocal(grid, grid.Comp, new Vector2i(1, 0)));
         });
 
 
@@ -74,10 +75,10 @@ public sealed class FluidSpill
         {
             var grid = entityManager.GetComponent<MapGridComponent>(gridId);
             var solution = new Solution("Blood", FixedPoint2.New(100));
-            var tileRef = grid.GetTileRef(puddleOrigin);
+            var tileRef = mapSystem.GetTileRef(gridId, grid, puddleOrigin);
 #pragma warning disable NUnit2045 // Interdependent tests
             Assert.That(puddleSystem.TrySpillAt(tileRef, solution, out _), Is.True);
-            Assert.That(GetPuddle(entityManager, grid, puddleOrigin), Is.Not.Null);
+            Assert.That(GetPuddle(entityManager, (gridId, grid), puddleOrigin), Is.Not.Null);
 #pragma warning restore NUnit2045
         });
 
@@ -87,7 +88,7 @@ public sealed class FluidSpill
         await server.WaitAssertion(() =>
         {
             var grid = entityManager.GetComponent<MapGridComponent>(gridId);
-            var puddle = GetPuddleEntity(entityManager, grid, puddleOrigin);
+            var puddle = GetPuddleEntity(entityManager, (gridId, grid), puddleOrigin);
 
 #pragma warning disable NUnit2045 // Interdependent tests
             Assert.That(puddle, Is.Not.Null);
@@ -104,7 +105,7 @@ public sealed class FluidSpill
                     }
 
                     var newPos = new Vector2i(x, y);
-                    var sidePuddle = GetPuddle(entityManager, grid, newPos);
+                    var sidePuddle = GetPuddle(entityManager, (gridId, grid), newPos);
                     Assert.That(sidePuddle, Is.Null);
                 }
             }
index a9069892dffdb68a8f816787e1f2bfa70f26b7de..ee2d0cb1f7a7fb32ee78ed6771185cc673ebab10 100644 (file)
@@ -5,7 +5,6 @@ using Content.Shared.FixedPoint;
 using Content.Shared.Fluids.Components;
 using Robust.Shared.GameObjects;
 using Robust.Shared.Map;
-using Robust.Shared.Map.Components;
 
 namespace Content.IntegrationTests.Tests.Fluids
 {
@@ -21,8 +20,7 @@ namespace Content.IntegrationTests.Tests.Fluids
 
             var testMap = await pair.CreateTestMap();
 
-            var entitySystemManager = server.ResolveDependency<IEntitySystemManager>();
-            var spillSystem = entitySystemManager.GetEntitySystem<PuddleSystem>();
+            var spillSystem = server.System<PuddleSystem>();
 
             await server.WaitAssertion(() =>
             {
@@ -46,17 +44,19 @@ namespace Content.IntegrationTests.Tests.Fluids
             var server = pair.Server;
 
             var testMap = await pair.CreateTestMap();
-            var grid = testMap.Grid.Comp;
+            var grid = testMap.Grid;
 
             var entitySystemManager = server.ResolveDependency<IEntitySystemManager>();
-            var spillSystem = entitySystemManager.GetEntitySystem<PuddleSystem>();
+            var spillSystem = server.System<PuddleSystem>();
+            var mapSystem = server.System<SharedMapSystem>();
 
             // Remove all tiles
             await server.WaitPost(() =>
             {
-                foreach (var tile in grid.GetAllTiles())
+                var tiles = mapSystem.GetAllTiles(grid.Owner, grid.Comp);
+                foreach (var tile in tiles)
                 {
-                    grid.SetTile(tile.GridIndices, Tile.Empty);
+                    mapSystem.SetTile(grid, tile.GridIndices, Tile.Empty);
                 }
             });
 
index 4d308c6d911f67c0428bc0e988ee3ac22a6ad45a..f4447426c771a6181269b996686f5d0ae1c8a3fa 100644 (file)
@@ -22,6 +22,7 @@ public sealed class FollowerSystemTest
         var mapMan = server.ResolveDependency<IMapManager>();
         var sysMan = server.ResolveDependency<IEntitySystemManager>();
         var logMan = server.ResolveDependency<ILogManager>();
+        var mapSys = server.System<SharedMapSystem>();
         var logger = logMan.RootSawmill;
 
         await server.WaitPost(() =>
@@ -29,7 +30,7 @@ public sealed class FollowerSystemTest
             var followerSystem = sysMan.GetEntitySystem<FollowerSystem>();
 
             // Create a map to spawn the observers on.
-            var map = mapMan.CreateMap();
+            mapSys.CreateMap(out var map);
 
             // Spawn an observer to be followed.
             var followed = entMan.SpawnEntity(GameTicker.ObserverPrototypeName, new MapCoordinates(0, 0, map));
@@ -41,7 +42,7 @@ public sealed class FollowerSystemTest
 
             followerSystem.StartFollowingEntity(follower, followed);
 
-            entMan.DeleteEntity(mapMan.GetMapEntityId(map));
+            entMan.DeleteEntity(mapSys.GetMap(map));
         });
         await pair.CleanReturnAsync();
     }
index 0ac6b68a3ec2759ed508e0d75ab6e06d88c13ecc..2570e2246a66f705ebbac725d9ded19994540613 100644 (file)
@@ -1,5 +1,4 @@
 #nullable enable
-using System.Numerics;
 using Content.Server.Cuffs;
 using Content.Shared.Body.Components;
 using Content.Shared.Cuffs.Components;
@@ -7,7 +6,6 @@ using Content.Shared.Hands.Components;
 using Robust.Server.Console;
 using Robust.Shared.GameObjects;
 using Robust.Shared.Map;
-using Robust.Shared.Maths;
 
 namespace Content.IntegrationTests.Tests.GameObjects.Components.ActionBlocking
 {
@@ -52,10 +50,11 @@ namespace Content.IntegrationTests.Tests.GameObjects.Components.ActionBlocking
             var mapManager = server.ResolveDependency<IMapManager>();
             var host = server.ResolveDependency<IServerConsoleHost>();
 
+            var map = await pair.CreateTestMap();
+
             await server.WaitAssertion(() =>
             {
-                var mapId = mapManager.CreateMap();
-                var coordinates = new MapCoordinates(Vector2.Zero, mapId);
+                var coordinates = map.MapCoords;
 
                 var cuffableSys = entityManager.System<CuffableSystem>();
                 var xformSys = entityManager.System<SharedTransformSystem>();
index 1bea33a82bcd504b0ff1b6c337616957ad59bd8f..b215584c57aa7f9ba69e5b55c29ad71e94474322 100644 (file)
@@ -47,7 +47,7 @@ public sealed class AntagPreferenceTest
         Assert.That(sys.IsEntityValid(client.AttachedEntity, def), Is.True);
 
         // By default, traitor/antag preferences are disabled, so the pool should be empty.
-        var sessions = new List<ICommonSession>{pair.Player!};
+        var sessions = new List<ICommonSession> { pair.Player! };
         var pool = sys.GetPlayerPool(rule, sessions, def);
         Assert.That(pool.Count, Is.EqualTo(0));
 
index f660eccf30ad916aadc3d13def9d7034b9459771..518166ed86448061c41e65b36dd10752052b5ac7 100644 (file)
@@ -110,7 +110,7 @@ public sealed class FailAndStartPresetTest
         player = pair.Player!.AttachedEntity!.Value;
         Assert.That(entMan.EntityExists(player));
 
-        ticker.SetGamePreset((GamePresetPrototype?)null);
+        ticker.SetGamePreset((GamePresetPrototype?) null);
         server.CfgMan.SetCVar(CCVars.GridFill, false);
         server.CfgMan.SetCVar(CCVars.GameLobbyFallbackEnabled, true);
         server.CfgMan.SetCVar(CCVars.GameLobbyDefaultPreset, "secret");
index 7f817e8a1e0e1af928ae7bb0051de1655e5fc6ea..64f7a6d082085d06c040127ae809e85dfe0ba3a6 100644 (file)
@@ -34,29 +34,25 @@ namespace Content.IntegrationTests.Tests
 
             var testMap = await pair.CreateTestMap();
 
-            EntityUid generator = default;
-            var entityMan = server.ResolveDependency<IEntityManager>();
-            var mapMan = server.ResolveDependency<IMapManager>();
+            var entityMan = server.EntMan;
+            var mapMan = server.MapMan;
             var mapSys = entityMan.System<SharedMapSystem>();
 
-            MapGridComponent grid1 = null;
-            MapGridComponent grid2 = null;
-            EntityUid grid1Entity = default!;
-            EntityUid grid2Entity = default!;
+            EntityUid generator = default;
+            Entity<MapGridComponent> grid1 = default;
+            Entity<MapGridComponent> grid2 = default;
 
             // Create grids
             await server.WaitAssertion(() =>
             {
                 var mapId = testMap.MapId;
-                grid1 = mapMan.CreateGrid(mapId);
-                grid2 = mapMan.CreateGrid(mapId);
-                grid1Entity = grid1.Owner;
-                grid2Entity = grid2.Owner;
+                grid1 = mapMan.CreateGridEntity(mapId);
+                grid2 = mapMan.CreateGridEntity(mapId);
 
-                mapSys.SetTile(grid1Entity, grid1, Vector2i.Zero, new Tile(1));
-                mapSys.SetTile(grid2Entity, grid2, Vector2i.Zero, new Tile(1));
+                mapSys.SetTile(grid1, grid1, Vector2i.Zero, new Tile(1));
+                mapSys.SetTile(grid2, grid2, Vector2i.Zero, new Tile(1));
 
-                generator = entityMan.SpawnEntity("GridGravityGeneratorDummy", new EntityCoordinates(grid1Entity, 0.5f, 0.5f));
+                generator = entityMan.SpawnEntity("GridGravityGeneratorDummy", new EntityCoordinates(grid1, 0.5f, 0.5f));
                 Assert.Multiple(() =>
                 {
                     Assert.That(entityMan.HasComponent<GravityGeneratorComponent>(generator));
@@ -77,8 +73,8 @@ namespace Content.IntegrationTests.Tests
                 Assert.Multiple(() =>
                 {
                     Assert.That(generatorComponent.GravityActive, Is.True);
-                    Assert.That(!entityMan.GetComponent<GravityComponent>(grid1Entity).EnabledVV);
-                    Assert.That(entityMan.GetComponent<GravityComponent>(grid2Entity).EnabledVV);
+                    Assert.That(!entityMan.GetComponent<GravityComponent>(grid1).EnabledVV);
+                    Assert.That(entityMan.GetComponent<GravityComponent>(grid2).EnabledVV);
                 });
 
                 // Re-enable needs power so it turns off again.
@@ -95,7 +91,7 @@ namespace Content.IntegrationTests.Tests
                 Assert.Multiple(() =>
                 {
                     Assert.That(generatorComponent.GravityActive, Is.False);
-                    Assert.That(entityMan.GetComponent<GravityComponent>(grid2Entity).EnabledVV, Is.False);
+                    Assert.That(entityMan.GetComponent<GravityComponent>(grid2).EnabledVV, Is.False);
                 });
             });
 
index 2b844d34f0caaf580eb0b472d37b861a49a81082..6ac40e92a1e4ec929e924c1f20132c3ba4c97538 100644 (file)
@@ -48,13 +48,9 @@ namespace Content.IntegrationTests.Tests.Interaction.Click
             var sysMan = server.ResolveDependency<IEntitySystemManager>();
             var handSys = sysMan.GetEntitySystem<SharedHandsSystem>();
 
-            var mapId = MapId.Nullspace;
-            var coords = MapCoordinates.Nullspace;
-            await server.WaitAssertion(() =>
-            {
-                mapId = mapManager.CreateMap();
-                coords = new MapCoordinates(Vector2.Zero, mapId);
-            });
+            var map = await pair.CreateTestMap();
+            var mapId = map.MapId;
+            var coords = map.MapCoords;
 
             await server.WaitIdleAsync();
             EntityUid user = default;
@@ -119,13 +115,9 @@ namespace Content.IntegrationTests.Tests.Interaction.Click
             var sysMan = server.ResolveDependency<IEntitySystemManager>();
             var handSys = sysMan.GetEntitySystem<SharedHandsSystem>();
 
-            var mapId = MapId.Nullspace;
-            var coords = MapCoordinates.Nullspace;
-            await server.WaitAssertion(() =>
-            {
-                mapId = mapManager.CreateMap();
-                coords = new MapCoordinates(Vector2.Zero, mapId);
-            });
+            var map = await pair.CreateTestMap();
+            var mapId = map.MapId;
+            var coords = map.MapCoords;
 
             await server.WaitIdleAsync();
             EntityUid user = default;
@@ -190,13 +182,9 @@ namespace Content.IntegrationTests.Tests.Interaction.Click
             var sysMan = server.ResolveDependency<IEntitySystemManager>();
             var handSys = sysMan.GetEntitySystem<SharedHandsSystem>();
 
-            var mapId = MapId.Nullspace;
-            var coords = MapCoordinates.Nullspace;
-            await server.WaitAssertion(() =>
-            {
-                mapId = mapManager.CreateMap();
-                coords = new MapCoordinates(Vector2.Zero, mapId);
-            });
+            var map = await pair.CreateTestMap();
+            var mapId = map.MapId;
+            var coords = map.MapCoords;
 
             await server.WaitIdleAsync();
             EntityUid user = default;
@@ -261,13 +249,9 @@ namespace Content.IntegrationTests.Tests.Interaction.Click
             var sysMan = server.ResolveDependency<IEntitySystemManager>();
             var handSys = sysMan.GetEntitySystem<SharedHandsSystem>();
 
-            var mapId = MapId.Nullspace;
-            var coords = MapCoordinates.Nullspace;
-            await server.WaitAssertion(() =>
-            {
-                mapId = mapManager.CreateMap();
-                coords = new MapCoordinates(Vector2.Zero, mapId);
-            });
+            var map = await pair.CreateTestMap();
+            var mapId = map.MapId;
+            var coords = map.MapCoords;
 
             await server.WaitIdleAsync();
             EntityUid user = default;
@@ -331,13 +315,9 @@ namespace Content.IntegrationTests.Tests.Interaction.Click
             var handSys = sysMan.GetEntitySystem<SharedHandsSystem>();
             var conSystem = sysMan.GetEntitySystem<SharedContainerSystem>();
 
-            var mapId = MapId.Nullspace;
-            var coords = MapCoordinates.Nullspace;
-            await server.WaitAssertion(() =>
-            {
-                mapId = mapManager.CreateMap();
-                coords = new MapCoordinates(Vector2.Zero, mapId);
-            });
+            var map = await pair.CreateTestMap();
+            var mapId = map.MapId;
+            var coords = map.MapCoords;
 
             await server.WaitIdleAsync();
             EntityUid user = default;
index 719367e54e616baeda15b7b5762135fbab23a35d..801433ae72b278c1fe338ec9bded6d1db381c12a 100644 (file)
@@ -39,10 +39,11 @@ namespace Content.IntegrationTests.Tests.Interaction
             EntityUid other = default;
             MapCoordinates mapCoordinates = default;
 
+            var map = await pair.CreateTestMap();
+
             await server.WaitAssertion(() =>
             {
-                var mapId = mapManager.CreateMap();
-                var coordinates = new MapCoordinates(Vector2.Zero, mapId);
+                var coordinates = map.MapCoords;
 
                 origin = sEntities.SpawnEntity(HumanId, coordinates);
                 other = sEntities.SpawnEntity(HumanId, coordinates);
index a61a05930177421baf205dbe79fb4398aa688012..a09126a7f7c90acb93e5f395d089fac293d08272 100644 (file)
@@ -571,11 +571,11 @@ public abstract partial class InteractionTest
 
         var tile = Tile.Empty;
         var serverCoords = SEntMan.GetCoordinates(coords ?? TargetCoords);
-        var pos = serverCoords.ToMap(SEntMan, Transform);
+        var pos = Transform.ToMapCoordinates(serverCoords);
         await Server.WaitPost(() =>
         {
-            if (MapMan.TryFindGridAt(pos, out _, out var grid))
-                tile = grid.GetTileRef(serverCoords).Tile;
+            if (MapMan.TryFindGridAt(pos, out var gridUid, out var grid))
+                tile = MapSystem.GetTileRef(gridUid, grid, serverCoords).Tile;
         });
 
         Assert.That(tile.TypeId, Is.EqualTo(targetTile.TypeId));
@@ -757,33 +757,41 @@ public abstract partial class InteractionTest
     /// <summary>
     /// Set the tile at the target position to some prototype.
     /// </summary>
-    protected async Task SetTile(string? proto, NetCoordinates? coords = null, MapGridComponent? grid = null)
+    protected async Task SetTile(string? proto, NetCoordinates? coords = null, Entity<MapGridComponent>? grid = null)
     {
         var tile = proto == null
             ? Tile.Empty
             : new Tile(TileMan[proto].TileId);
 
-        var pos = SEntMan.GetCoordinates(coords ?? TargetCoords).ToMap(SEntMan, Transform);
+        var pos = Transform.ToMapCoordinates(SEntMan.GetCoordinates(coords ?? TargetCoords));
 
+        EntityUid gridUid;
+        MapGridComponent? gridComp;
         await Server.WaitPost(() =>
         {
-            if (grid != null || MapMan.TryFindGridAt(pos, out var gridUid, out grid))
+            if (grid is { } gridEnt)
             {
-                grid.SetTile(SEntMan.GetCoordinates(coords ?? TargetCoords), tile);
+                MapSystem.SetTile(gridEnt, SEntMan.GetCoordinates(coords ?? TargetCoords), tile);
+                return;
+            }
+            else if (MapMan.TryFindGridAt(pos, out var gUid, out var gComp))
+            {
+                MapSystem.SetTile(gUid, gComp, SEntMan.GetCoordinates(coords ?? TargetCoords), tile);
                 return;
             }
 
             if (proto == null)
                 return;
 
-            var gridEnt = MapMan.CreateGridEntity(MapData.MapId);
+            gridEnt = MapMan.CreateGridEntity(MapData.MapId);
             grid = gridEnt;
             gridUid = gridEnt;
+            gridComp = gridEnt.Comp;
             var gridXform = SEntMan.GetComponent<TransformComponent>(gridUid);
             Transform.SetWorldPosition(gridXform, pos.Position);
-            grid.SetTile(SEntMan.GetCoordinates(coords ?? TargetCoords), tile);
+            MapSystem.SetTile((gridUid, gridComp), SEntMan.GetCoordinates(coords ?? TargetCoords), tile);
 
-            if (!MapMan.TryFindGridAt(pos, out _, out grid))
+            if (!MapMan.TryFindGridAt(pos, out _, out _))
                 Assert.Fail("Failed to create grid?");
         });
         await AssertTile(proto, coords);
index 37102481ed0e223dda4e65ca93ed3f85b490c33d..457d3e31920af29adea869e6e611c0c588ee306b 100644 (file)
@@ -1,5 +1,4 @@
 #nullable enable
-using System.Diagnostics.CodeAnalysis;
 using System.Linq;
 using System.Numerics;
 using Content.Client.Construction;
@@ -108,6 +107,7 @@ public abstract partial class InteractionTest
     protected SharedItemToggleSystem ItemToggleSys = default!;
     protected InteractionTestSystem STestSystem = default!;
     protected SharedTransformSystem Transform = default!;
+    protected SharedMapSystem MapSystem = default!;
     protected ISawmill SLogger = default!;
     protected SharedUserInterfaceSystem SUiSys = default!;
 
@@ -153,7 +153,7 @@ public abstract partial class InteractionTest
     [SetUp]
     public virtual async Task Setup()
     {
-        Pair = await PoolManager.GetServerClient(new PoolSettings { Connected = true, Dirty = true});
+        Pair = await PoolManager.GetServerClient(new PoolSettings { Connected = true, Dirty = true });
 
         // server dependencies
         SEntMan = Server.ResolveDependency<IEntityManager>();
@@ -168,6 +168,7 @@ public abstract partial class InteractionTest
         ItemToggleSys = SEntMan.System<SharedItemToggleSystem>();
         DoAfterSys = SEntMan.System<SharedDoAfterSystem>();
         Transform = SEntMan.System<SharedTransformSystem>();
+        MapSystem = SEntMan.System<SharedMapSystem>();
         SConstruction = SEntMan.System<Server.Construction.ConstructionSystem>();
         STestSystem = SEntMan.System<InteractionTestSystem>();
         Stack = SEntMan.System<StackSystem>();
@@ -188,9 +189,10 @@ public abstract partial class InteractionTest
 
         // Setup map.
         await Pair.CreateTestMap();
-        PlayerCoords = SEntMan.GetNetCoordinates(MapData.GridCoords.Offset(new Vector2(0.5f, 0.5f)).WithEntityId(MapData.MapUid, Transform, SEntMan));
-        TargetCoords = SEntMan.GetNetCoordinates(MapData.GridCoords.Offset(new Vector2(1.5f, 0.5f)).WithEntityId(MapData.MapUid, Transform, SEntMan));
-        await SetTile(Plating, grid: MapData.Grid.Comp);
+
+        PlayerCoords = SEntMan.GetNetCoordinates(Transform.WithEntityId(MapData.GridCoords.Offset(new Vector2(0.5f, 0.5f)), MapData.MapUid));
+        TargetCoords = SEntMan.GetNetCoordinates(Transform.WithEntityId(MapData.GridCoords.Offset(new Vector2(1.5f, 0.5f)), MapData.MapUid));
+        await SetTile(Plating, grid: MapData.Grid);
 
         // Get player data
         var sPlayerMan = Server.ResolveDependency<Robust.Server.Player.IPlayerManager>();
@@ -263,7 +265,8 @@ public abstract partial class InteractionTest
         await TearDown();
     }
 
-    protected virtual async Task TearDown()
+    protected virtual Task TearDown()
     {
+        return Task.CompletedTask;
     }
 }
index 30724b50a6d3ef0cb4f87abf1f34b2ae3535f0c1..0632fe1347c0adf2b70a29970796ed407ca9d892 100644 (file)
@@ -26,26 +26,26 @@ public sealed class StaticFieldValidationTest
             protos.Add(kind, ids);
         }
 
-        Assert.That(protoMan.ValidateStaticFields(typeof(StringValid), protos).Count, Is.Zero);
-        Assert.That(protoMan.ValidateStaticFields(typeof(StringArrayValid), protos).Count, Is.Zero);
-        Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdValid), protos).Count, Is.Zero);
-        Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdArrayValid), protos).Count, Is.Zero);
-        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdTestValid), protos).Count, Is.Zero);
-        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdArrayValid), protos).Count, Is.Zero);
-        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdListValid), protos).Count, Is.Zero);
-        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdSetValid), protos).Count, Is.Zero);
-        Assert.That(protoMan.ValidateStaticFields(typeof(PrivateProtoIdArrayValid), protos).Count, Is.Zero);
-        
-        Assert.That(protoMan.ValidateStaticFields(typeof(StringInvalid), protos).Count, Is.EqualTo(1));
-        Assert.That(protoMan.ValidateStaticFields(typeof(StringArrayInvalid), protos).Count, Is.EqualTo(2));
-        Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdInvalid), protos).Count, Is.EqualTo(1));
-        Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdArrayInvalid), protos).Count, Is.EqualTo(2));
-        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdTestInvalid), protos).Count, Is.EqualTo(1));
-        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdArrayInvalid), protos).Count, Is.EqualTo(2));
-        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdListInvalid), protos).Count, Is.EqualTo(2));
-        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdSetInvalid), protos).Count, Is.EqualTo(2));
-        Assert.That(protoMan.ValidateStaticFields(typeof(PrivateProtoIdArrayInvalid), protos).Count, Is.EqualTo(2));
-        
+        Assert.That(protoMan.ValidateStaticFields(typeof(StringValid), protos), Is.Empty);
+        Assert.That(protoMan.ValidateStaticFields(typeof(StringArrayValid), protos), Is.Empty);
+        Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdValid), protos), Is.Empty);
+        Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdArrayValid), protos), Is.Empty);
+        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdTestValid), protos), Is.Empty);
+        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdArrayValid), protos), Is.Empty);
+        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdListValid), protos), Is.Empty);
+        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdSetValid), protos), Is.Empty);
+        Assert.That(protoMan.ValidateStaticFields(typeof(PrivateProtoIdArrayValid), protos), Is.Empty);
+
+        Assert.That(protoMan.ValidateStaticFields(typeof(StringInvalid), protos), Has.Count.EqualTo(1));
+        Assert.That(protoMan.ValidateStaticFields(typeof(StringArrayInvalid), protos), Has.Count.EqualTo(2));
+        Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdInvalid), protos), Has.Count.EqualTo(1));
+        Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdArrayInvalid), protos), Has.Count.EqualTo(2));
+        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdTestInvalid), protos), Has.Count.EqualTo(1));
+        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdArrayInvalid), protos), Has.Count.EqualTo(2));
+        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdListInvalid), protos), Has.Count.EqualTo(2));
+        Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdSetInvalid), protos), Has.Count.EqualTo(2));
+        Assert.That(protoMan.ValidateStaticFields(typeof(PrivateProtoIdArrayInvalid), protos), Has.Count.EqualTo(2));
+
         await pair.CleanReturnAsync();
     }
 
@@ -58,93 +58,111 @@ public sealed class StaticFieldValidationTest
   id: StaticFieldTestTag
 ";
 
-    [Reflect(false)] private sealed class StringValid
+    [Reflect(false)]
+    private sealed class StringValid
     {
         [ValidatePrototypeId<TagPrototype>] public static string Tag = "StaticFieldTestTag";
     }
 
-    [Reflect(false)] private sealed class StringInvalid
+    [Reflect(false)]
+    private sealed class StringInvalid
     {
         [ValidatePrototypeId<TagPrototype>] public static string Tag = string.Empty;
     }
 
-    [Reflect(false)] private sealed class StringArrayValid
+    [Reflect(false)]
+    private sealed class StringArrayValid
     {
-        [ValidatePrototypeId<TagPrototype>] public static string[] Tag = {"StaticFieldTestTag", "StaticFieldTestTag"};
+        [ValidatePrototypeId<TagPrototype>] public static string[] Tag = ["StaticFieldTestTag", "StaticFieldTestTag"];
     }
 
-    [Reflect(false)] private sealed class StringArrayInvalid
+    [Reflect(false)]
+    private sealed class StringArrayInvalid
     {
-        [ValidatePrototypeId<TagPrototype>] public static string[] Tag = {string.Empty, "StaticFieldTestTag", string.Empty};
+        [ValidatePrototypeId<TagPrototype>] public static string[] Tag = [string.Empty, "StaticFieldTestTag", string.Empty];
     }
 
-    [Reflect(false)] private sealed class EntProtoIdValid
+    [Reflect(false)]
+    private sealed class EntProtoIdValid
     {
         public static EntProtoId Tag = "StaticFieldTestEnt";
     }
 
-    [Reflect(false)] private sealed class EntProtoIdInvalid
+    [Reflect(false)]
+    private sealed class EntProtoIdInvalid
     {
         public static EntProtoId Tag = string.Empty;
     }
 
-    [Reflect(false)] private sealed class EntProtoIdArrayValid
+    [Reflect(false)]
+    private sealed class EntProtoIdArrayValid
     {
-        public static EntProtoId[] Tag = {"StaticFieldTestEnt", "StaticFieldTestEnt"};
+        public static EntProtoId[] Tag = ["StaticFieldTestEnt", "StaticFieldTestEnt"];
     }
 
-    [Reflect(false)] private sealed class EntProtoIdArrayInvalid
+    [Reflect(false)]
+    private sealed class EntProtoIdArrayInvalid
     {
-        public static EntProtoId[] Tag = {string.Empty, "StaticFieldTestEnt", string.Empty};
+        public static EntProtoId[] Tag = [string.Empty, "StaticFieldTestEnt", string.Empty];
     }
 
-    [Reflect(false)] private sealed class ProtoIdTestValid
+    [Reflect(false)]
+    private sealed class ProtoIdTestValid
     {
         public static ProtoId<TagPrototype> Tag = "StaticFieldTestTag";
     }
 
-    [Reflect(false)] private sealed class ProtoIdTestInvalid
+    [Reflect(false)]
+    private sealed class ProtoIdTestInvalid
     {
         public static ProtoId<TagPrototype> Tag = string.Empty;
     }
 
-    [Reflect(false)] private sealed class ProtoIdArrayValid
+    [Reflect(false)]
+    private sealed class ProtoIdArrayValid
     {
-        public static ProtoId<TagPrototype>[] Tag = {"StaticFieldTestTag", "StaticFieldTestTag"};
+        public static ProtoId<TagPrototype>[] Tag = ["StaticFieldTestTag", "StaticFieldTestTag"];
     }
 
-    [Reflect(false)] private sealed class ProtoIdArrayInvalid
+    [Reflect(false)]
+    private sealed class ProtoIdArrayInvalid
     {
-        public static ProtoId<TagPrototype>[] Tag = {string.Empty, "StaticFieldTestTag", string.Empty};
+        public static ProtoId<TagPrototype>[] Tag = [string.Empty, "StaticFieldTestTag", string.Empty];
     }
 
-    [Reflect(false)] private sealed class ProtoIdListValid
+    [Reflect(false)]
+    private sealed class ProtoIdListValid
     {
-        public static List<ProtoId<TagPrototype>> Tag = new() {"StaticFieldTestTag", "StaticFieldTestTag"};
+        public static List<ProtoId<TagPrototype>> Tag = ["StaticFieldTestTag", "StaticFieldTestTag"];
     }
 
-    [Reflect(false)] private sealed class ProtoIdListInvalid
+    [Reflect(false)]
+    private sealed class ProtoIdListInvalid
     {
-        public static List<ProtoId<TagPrototype>> Tag = new() {string.Empty, "StaticFieldTestTag", string.Empty};
+        public static List<ProtoId<TagPrototype>> Tag = [string.Empty, "StaticFieldTestTag", string.Empty];
     }
 
-    [Reflect(false)] private sealed class ProtoIdSetValid
+    [Reflect(false)]
+    private sealed class ProtoIdSetValid
     {
-        public static HashSet<ProtoId<TagPrototype>> Tag = new() {"StaticFieldTestTag", "StaticFieldTestTag"};
+        public static HashSet<ProtoId<TagPrototype>> Tag = ["StaticFieldTestTag", "StaticFieldTestTag"];
     }
 
-    [Reflect(false)] private sealed class ProtoIdSetInvalid
+    [Reflect(false)]
+    private sealed class ProtoIdSetInvalid
     {
-        public static HashSet<ProtoId<TagPrototype>> Tag = new() {string.Empty, "StaticFieldTestTag", string.Empty, " "};
+        public static HashSet<ProtoId<TagPrototype>> Tag = [string.Empty, "StaticFieldTestTag", string.Empty, " "];
     }
 
-    [Reflect(false)] private sealed class PrivateProtoIdArrayValid
+    [Reflect(false)]
+    private sealed class PrivateProtoIdArrayValid
     {
-        private static ProtoId<TagPrototype>[] Tag = {"StaticFieldTestTag", "StaticFieldTestTag"};
+        private static readonly ProtoId<TagPrototype>[] Tag = ["StaticFieldTestTag", "StaticFieldTestTag"];
     }
 
-    [Reflect(false)] private sealed class PrivateProtoIdArrayInvalid
+    [Reflect(false)]
+    private sealed class PrivateProtoIdArrayInvalid
     {
-        private static ProtoId<TagPrototype>[] Tag = {string.Empty, "StaticFieldTestTag", string.Empty};
+        private static readonly ProtoId<TagPrototype>[] Tag = [string.Empty, "StaticFieldTestTag", string.Empty];
     }
 }
index e741935be3405e56e02f8d77d97db3f6b4cc92cc..e1533bbb8d7ae401ac4726d334c1905edb6b6cd9 100644 (file)
@@ -2,7 +2,6 @@
 using System.Linq;
 using Content.Server.Construction.Components;
 using Content.Shared.Construction.Components;
-using Content.Shared.Prototypes;
 using Robust.Shared.GameObjects;
 using Robust.Shared.Prototypes;
 
@@ -37,6 +36,7 @@ public sealed class MachineBoardTest
         var server = pair.Server;
 
         var protoMan = server.ResolveDependency<IPrototypeManager>();
+        var compFact = server.ResolveDependency<IComponentFactory>();
 
         await server.WaitAssertion(() =>
         {
@@ -45,7 +45,7 @@ public sealed class MachineBoardTest
                          .Where(p => !pair.IsTestPrototype(p))
                          .Where(p => !_ignoredPrototypes.Contains(p.ID)))
             {
-                if (!p.TryGetComponent<MachineBoardComponent>(out var mbc))
+                if (!p.TryGetComponent<MachineBoardComponent>(out var mbc, compFact))
                     continue;
                 var mId = mbc.Prototype;
 
@@ -53,7 +53,7 @@ public sealed class MachineBoardTest
                 {
                     Assert.That(protoMan.TryIndex<EntityPrototype>(mId, out var mProto),
                         $"Machine board {p.ID}'s corresponding machine has an invalid prototype.");
-                    Assert.That(mProto.TryGetComponent<MachineComponent>(out var mComp),
+                    Assert.That(mProto.TryGetComponent<MachineComponent>(out var mComp, compFact),
                         $"Machine board {p.ID}'s corresponding machine {mId} does not have MachineComponent");
                     Assert.That(mComp.Board, Is.EqualTo(p.ID),
                         $"Machine {mId}'s BoardPrototype is not equal to it's corresponding machine board, {p.ID}");
@@ -75,6 +75,7 @@ public sealed class MachineBoardTest
         var server = pair.Server;
 
         var protoMan = server.ResolveDependency<IPrototypeManager>();
+        var compFact = server.ResolveDependency<IComponentFactory>();
 
         await server.WaitAssertion(() =>
         {
@@ -83,7 +84,7 @@ public sealed class MachineBoardTest
                          .Where(p => !pair.IsTestPrototype(p))
                          .Where(p => !_ignoredPrototypes.Contains(p.ID)))
             {
-                if (!p.TryGetComponent<ComputerBoardComponent>(out var cbc))
+                if (!p.TryGetComponent<ComputerBoardComponent>(out var cbc, compFact))
                     continue;
                 var cId = cbc.Prototype;
 
@@ -92,7 +93,7 @@ public sealed class MachineBoardTest
                     Assert.That(cId, Is.Not.Null, $"Computer board \"{p.ID}\" does not have a corresponding computer.");
                     Assert.That(protoMan.TryIndex<EntityPrototype>(cId, out var cProto),
                         $"Computer board \"{p.ID}\"'s corresponding computer has an invalid prototype.");
-                    Assert.That(cProto.TryGetComponent<ComputerComponent>(out var cComp),
+                    Assert.That(cProto.TryGetComponent<ComputerComponent>(out var cComp, compFact),
                         $"Computer board {p.ID}'s corresponding computer \"{cId}\" does not have ComputerComponent");
                     Assert.That(cComp.BoardPrototype, Is.EqualTo(p.ID),
                         $"Computer \"{cId}\"'s BoardPrototype is not equal to it's corresponding computer board, \"{p.ID}\"");
index 287e30eb8b1de73f21c72d52d92f51447e15e69a..be8bad229b4ab2cac083ee6a18c9ea6573e6b485 100644 (file)
@@ -13,7 +13,7 @@ public sealed class MappingTests
     [Test]
     public async Task MappingTest()
     {
-        await using var pair = await PoolManager.GetServerClient(new PoolSettings {Dirty = true, Connected = true, DummyTicker = false});
+        await using var pair = await PoolManager.GetServerClient(new PoolSettings { Dirty = true, Connected = true, DummyTicker = false });
 
         var server = pair.Server;
         var entMan = server.EntMan;
index 19780591bdbca7306e9523e8873c14f3a42b94e3..f64b7c79dfea279d578a8374cfbc6b5dc3d2d7ec 100644 (file)
@@ -38,15 +38,16 @@ public sealed class MaterialArbitrageTest
         await server.WaitIdleAsync();
 
         var entManager = server.ResolveDependency<IEntityManager>();
-        var sysManager = server.ResolveDependency<IEntitySystemManager>();
         var mapManager = server.ResolveDependency<IMapManager>();
-        Assert.That(mapManager.IsMapInitialized(testMap.MapId));
-
         var protoManager = server.ResolveDependency<IPrototypeManager>();
-        var pricing = sysManager.GetEntitySystem<PricingSystem>();
-        var stackSys = sysManager.GetEntitySystem<StackSystem>();
+
+        var pricing = entManager.System<PricingSystem>();
+        var stackSys = entManager.System<StackSystem>();
+        var mapSystem = server.System<SharedMapSystem>();
         var compFact = server.ResolveDependency<IComponentFactory>();
 
+        Assert.That(mapSystem.IsInitialized(testMap.MapId));
+
         var constructionName = compFact.GetComponentName(typeof(ConstructionComponent));
         var compositionName = compFact.GetComponentName(typeof(PhysicalCompositionComponent));
         var materialName = compFact.GetComponentName(typeof(MaterialComponent));
@@ -67,7 +68,7 @@ public sealed class MaterialArbitrageTest
         Dictionary<string, ConstructionComponent> constructionRecipes = new();
         foreach (var proto in protoManager.EnumeratePrototypes<EntityPrototype>())
         {
-            if (proto.NoSpawn || proto.Abstract || pair.IsTestPrototype(proto))
+            if (proto.HideSpawnMenu || proto.Abstract || pair.IsTestPrototype(proto))
                 continue;
 
             if (!proto.Components.TryGetValue(constructionName, out var destructible))
@@ -127,7 +128,7 @@ public sealed class MaterialArbitrageTest
         // Here we get the set of entities/materials spawned when destroying an entity.
         foreach (var proto in protoManager.EnumeratePrototypes<EntityPrototype>())
         {
-            if (proto.NoSpawn || proto.Abstract || pair.IsTestPrototype(proto))
+            if (proto.HideSpawnMenu || proto.Abstract || pair.IsTestPrototype(proto))
                 continue;
 
             if (!proto.Components.TryGetValue(destructibleName, out var destructible))
@@ -298,7 +299,7 @@ public sealed class MaterialArbitrageTest
         Dictionary<string, PhysicalCompositionComponent> physicalCompositions = new();
         foreach (var proto in protoManager.EnumeratePrototypes<EntityPrototype>())
         {
-            if (proto.NoSpawn || proto.Abstract || pair.IsTestPrototype(proto))
+            if (proto.HideSpawnMenu || proto.Abstract || pair.IsTestPrototype(proto))
                 continue;
 
             if (!proto.Components.TryGetValue(compositionName, out var composition))
index 7a156e71e419e4f9aa41aa80c55b44c0018f8d67..3a860267e5544c4b8dd8fe6ad33d868507815447 100644 (file)
@@ -14,7 +14,7 @@ namespace Content.IntegrationTests.Tests.Minds;
 [TestFixture]
 public sealed class GhostTests
 {
-    struct GhostTestData
+    private struct GhostTestData
     {
         public IEntityManager SEntMan;
         public Robust.Server.Player.IPlayerManager SPlayerMan;
@@ -23,10 +23,10 @@ public sealed class GhostTests
 
         public TestPair Pair = default!;
 
-        public TestMapData MapData => Pair.TestMap!;
+        public readonly TestMapData MapData => Pair.TestMap!;
 
-        public RobustIntegrationTest.ServerIntegrationInstance Server => Pair.Server;
-        public RobustIntegrationTest.ClientIntegrationInstance Client => Pair.Client;
+        public readonly RobustIntegrationTest.ServerIntegrationInstance Server => Pair.Server;
+        public readonly RobustIntegrationTest.ClientIntegrationInstance Client => Pair.Client;
 
         /// <summary>
         /// Initial player coordinates. Note that this does not necessarily correspond to the position of the
@@ -47,15 +47,16 @@ public sealed class GhostTests
 
     private async Task<GhostTestData> SetupData()
     {
-        var data = new GhostTestData();
-
-        // Client is needed to create a session for the ghost system. Creating a dummy session was too difficult.
-        data.Pair = await PoolManager.GetServerClient(new PoolSettings
+        var data = new GhostTestData
         {
-            DummyTicker = false,
-            Connected = true,
-            Dirty = true
-        });
+            // Client is needed to create a session for the ghost system. Creating a dummy session was too difficult.
+            Pair = await PoolManager.GetServerClient(new PoolSettings
+            {
+                DummyTicker = false,
+                Connected = true,
+                Dirty = true
+            })
+        };
 
         data.SEntMan = data.Pair.Server.ResolveDependency<IServerEntityManager>();
         data.SPlayerMan = data.Pair.Server.ResolveDependency<Robust.Server.Player.IPlayerManager>();
@@ -64,7 +65,8 @@ public sealed class GhostTests
 
         // Setup map.
         await data.Pair.CreateTestMap();
-        data.PlayerCoords = data.SEntMan.GetNetCoordinates(data.MapData.GridCoords.Offset(new Vector2(0.5f, 0.5f)).WithEntityId(data.MapData.MapUid, data.STransformSys, data.SEntMan));
+        var test = data.MapData.GridCoords.Offset(new Vector2(0.5f, 0.5f));
+        data.PlayerCoords = data.SEntMan.GetNetCoordinates(data.STransformSys.WithEntityId(data.MapData.GridCoords.Offset(new Vector2(0.5f, 0.5f)), data.MapData.MapUid));
 
         if (data.Client.Session == null)
             Assert.Fail("No player");
index 428380631d7fb19152167605ab49664fe0b8e30f..b12c90e16e26e30181d1333111eb6950327d69c7 100644 (file)
@@ -169,7 +169,7 @@ public sealed partial class MindTests
     {
         var netManager = pair.Client.ResolveDependency<IClientNetManager>();
         var playerMan = pair.Server.ResolveDependency<IPlayerManager>();
-        Assert.That(!playerMan.Sessions.Any());
+        Assert.That(playerMan.Sessions, Is.Empty);
 
         await Task.WhenAll(pair.Client.WaitIdleAsync(), pair.Client.WaitIdleAsync());
         pair.Client.SetConnectTarget(pair.Server);
index 8d91855098fdc995a3468dbf29087596cb920e2d..3119ee55924a3c515ee0235b1e72689fdc2b27fb 100644 (file)
@@ -34,7 +34,7 @@ public sealed class BuckleMovementTest : MovementTest
         Assert.That(Delta(), Is.InRange(-0.01f, 0.01f));
         Assert.That(buckle.Buckled, Is.True);
         Assert.That(buckle.BuckledTo, Is.EqualTo(STarget));
-        Assert.That(strap.BuckledEntities, Is.EquivalentTo(new[]{SPlayer}));
+        Assert.That(strap.BuckledEntities, Is.EquivalentTo(new[] { SPlayer }));
         Assert.That(cAlert.IsShowingAlert(CPlayer, strap.BuckledAlertType), Is.True);
         Assert.That(sAlert.IsShowingAlert(SPlayer, strap.BuckledAlertType), Is.True);
 
@@ -43,7 +43,7 @@ public sealed class BuckleMovementTest : MovementTest
         Assert.That(Delta(), Is.InRange(-0.01f, 0.01f));
         Assert.That(buckle.Buckled, Is.True);
         Assert.That(buckle.BuckledTo, Is.EqualTo(STarget));
-        Assert.That(strap.BuckledEntities, Is.EquivalentTo(new[]{SPlayer}));
+        Assert.That(strap.BuckledEntities, Is.EquivalentTo(new[] { SPlayer }));
         Assert.That(cAlert.IsShowingAlert(CPlayer, strap.BuckledAlertType), Is.True);
         Assert.That(sAlert.IsShowingAlert(SPlayer, strap.BuckledAlertType), Is.True);
 
index ad7b1d0459f434c29f2502de34762af3836bfd2a..eba925303887e1b7e629af21c818f06e1986b0a6 100644 (file)
@@ -32,7 +32,7 @@ public abstract class MovementTest : InteractionTest
 
         for (var i = -Tiles; i <= Tiles; i++)
         {
-            await SetTile(Plating, SEntMan.GetNetCoordinates(pCoords.Offset(new Vector2(i, 0))), MapData.Grid.Comp);
+            await SetTile(Plating, SEntMan.GetNetCoordinates(pCoords.Offset(new Vector2(i, 0))), MapData.Grid);
         }
         AssertGridCount(1);
 
index 4783d21a0534f71af62cdbdefb0de3b3e1a1f589..b39556984899298dbca0be5d5313e1aaeaf49dc0 100644 (file)
@@ -7,12 +7,12 @@ namespace Content.IntegrationTests.Tests.Networking;
 [TestFixture]
 public sealed class PvsCommandTest
 {
-    public static EntProtoId TestEnt = "MobHuman";
+    private static readonly EntProtoId TestEnt = "MobHuman";
 
     [Test]
     public async Task TestPvsCommands()
     {
-        await using var pair = await PoolManager.GetServerClient(new PoolSettings { Connected = true, DummyTicker = false});
+        await using var pair = await PoolManager.GetServerClient(new PoolSettings { Connected = true, DummyTicker = false });
         var (server, client) = pair;
         await pair.RunTicksSync(5);
 
index 52d464fa41ed844e0d99413dbeac38507b0e11bf..29f2573c2d9bd442faa1a74e683c7876dd3f394f 100644 (file)
@@ -51,11 +51,12 @@ namespace Content.IntegrationTests.Tests.Networking
             PredictionTestComponent clientComponent = default!;
             var serverSystem = sEntityManager.System<PredictionTestEntitySystem>();
             var clientSystem = cEntityManager.System<PredictionTestEntitySystem>();
+            var sMapSys = sEntityManager.System<SharedMapSystem>();
 
             await server.WaitPost(() =>
             {
                 // Spawn dummy component entity.
-                var map = sMapManager.CreateMap();
+                sMapSys.CreateMap(out var map);
                 serverEnt = sEntityManager.SpawnEntity(null, new MapCoordinates(new Vector2(0, 0), map));
                 serverComponent = sEntityManager.AddComponent<PredictionTestComponent>(serverEnt);
             });
@@ -67,7 +68,7 @@ namespace Content.IntegrationTests.Tests.Networking
             Assert.That(sGameTiming.TickTimingAdjustment, Is.EqualTo(0));
 
             // Check client buffer is full
-            Assert.That(cGameStateManager.CurrentBufferSize, Is.EqualTo(cGameStateManager.TargetBufferSize));
+            Assert.That(cGameStateManager.GetApplicableStateCount(), Is.EqualTo(cGameStateManager.TargetBufferSize));
             Assert.That(cGameStateManager.TargetBufferSize, Is.EqualTo(2));
 
             // This isn't required anymore, but the test had this for the sake of "technical things", and I cbf shifting
@@ -99,7 +100,7 @@ namespace Content.IntegrationTests.Tests.Networking
 
                 // Client last ran tick 15 meaning it's ahead of the last server tick it processed (12)
                 Assert.That(cGameTiming.CurTick, Is.EqualTo(expected));
-                Assert.That(cGameTiming.LastProcessedTick, Is.EqualTo(new GameTick((uint)(baseTick - cGameStateManager.TargetBufferSize))));
+                Assert.That(cGameTiming.LastProcessedTick, Is.EqualTo(new GameTick((uint) (baseTick - cGameStateManager.TargetBufferSize))));
             });
 
             // *** I am using block scopes to visually distinguish these sections of the test to make it more readable.
@@ -264,7 +265,7 @@ namespace Content.IntegrationTests.Tests.Networking
                 // Assert timing is still correct.
                 Assert.That(sGameTiming.CurTick, Is.EqualTo(new GameTick(baseTick + 8)));
                 Assert.That(cGameTiming.CurTick, Is.EqualTo(new GameTick(baseTick + 8 + delta)));
-                Assert.That(cGameTiming.LastProcessedTick, Is.EqualTo(new GameTick((uint)(baseTick + 8 - cGameStateManager.TargetBufferSize))));
+                Assert.That(cGameTiming.LastProcessedTick, Is.EqualTo(new GameTick((uint) (baseTick + 8 - cGameStateManager.TargetBufferSize))));
             });
 
             {
index 2ae43898418155631c90033850731474a482fa99..cd14bfdc90d2190f5829bee02f28ab3228800aed 100644 (file)
@@ -78,13 +78,14 @@ namespace Content.IntegrationTests.Tests
 
             var entManager = server.ResolveDependency<IEntityManager>();
             var mapLoader = entManager.System<MapLoaderSystem>();
+            var mapSystem = entManager.System<SharedMapSystem>();
             var mapManager = server.ResolveDependency<IMapManager>();
             var cfg = server.ResolveDependency<IConfigurationManager>();
             Assert.That(cfg.GetCVar(CCVars.GridFill), Is.False);
 
             await server.WaitPost(() =>
             {
-                var mapId = mapManager.CreateMap();
+                mapSystem.CreateMap(out var mapId);
                 try
                 {
 #pragma warning disable NUnit2045
@@ -165,6 +166,7 @@ namespace Content.IntegrationTests.Tests
             var mapManager = server.ResolveDependency<IMapManager>();
             var entManager = server.ResolveDependency<IEntityManager>();
             var mapLoader = entManager.System<MapLoaderSystem>();
+            var mapSystem = entManager.System<SharedMapSystem>();
             var protoManager = server.ResolveDependency<IPrototypeManager>();
             var ticker = entManager.EntitySysManager.GetEntitySystem<GameTicker>();
             var shuttleSystem = entManager.EntitySysManager.GetEntitySystem<ShuttleSystem>();
@@ -174,7 +176,7 @@ namespace Content.IntegrationTests.Tests
 
             await server.WaitPost(() =>
             {
-                var mapId = mapManager.CreateMap();
+                mapSystem.CreateMap(out var mapId);
                 try
                 {
                     ticker.LoadGameMap(protoManager.Index<GameMapPrototype>(mapProto), mapId, null);
@@ -184,7 +186,7 @@ namespace Content.IntegrationTests.Tests
                     throw new Exception($"Failed to load map {mapProto}", ex);
                 }
 
-                var shuttleMap = mapManager.CreateMap();
+                mapSystem.CreateMap(out var shuttleMap);
                 var largest = 0f;
                 EntityUid? targetGrid = null;
                 var memberQuery = entManager.GetEntityQuery<StationMemberComponent>();
@@ -253,7 +255,7 @@ namespace Content.IntegrationTests.Tests
                         .Select(x => x.Job!.Value);
 
                     jobs.ExceptWith(spawnPoints);
-                    Assert.That(jobs, Is.Empty,$"There is no spawnpoints for {string.Join(", ", jobs)} on {mapProto}.");
+                    Assert.That(jobs, Is.Empty, $"There is no spawnpoints for {string.Join(", ", jobs)} on {mapProto}.");
                 }
 
                 try
@@ -326,6 +328,7 @@ namespace Content.IntegrationTests.Tests
             var resourceManager = server.ResolveDependency<IResourceManager>();
             var protoManager = server.ResolveDependency<IPrototypeManager>();
             var cfg = server.ResolveDependency<IConfigurationManager>();
+            var mapSystem = server.System<SharedMapSystem>();
             Assert.That(cfg.GetCVar(CCVars.GridFill), Is.False);
 
             var gameMaps = protoManager.EnumeratePrototypes<GameMapPrototype>().Select(o => o.MapPath).ToHashSet();
@@ -356,7 +359,7 @@ namespace Content.IntegrationTests.Tests
                 {
                     foreach (var mapName in mapNames)
                     {
-                        var mapId = mapManager.CreateMap();
+                        mapSystem.CreateMap(out var mapId);
                         try
                         {
                             Assert.That(mapLoader.TryLoad(mapId, mapName, out _));
index a94e94489c0990b13ccee604dd4acc98d532dbf6..55bb42f8ced4c77ea1ced0113825cc8830bd32bf 100644 (file)
@@ -166,6 +166,7 @@ namespace Content.IntegrationTests.Tests.Power
             var server = pair.Server;
             var mapManager = server.ResolveDependency<IMapManager>();
             var entityManager = server.ResolveDependency<IEntityManager>();
+            var mapSys = entityManager.System<SharedMapSystem>();
             const float loadPower = 200;
             PowerSupplierComponent supplier = default!;
             PowerConsumerComponent consumer1 = default!;
@@ -173,21 +174,19 @@ namespace Content.IntegrationTests.Tests.Power
 
             await server.WaitAssertion(() =>
             {
-                var map = mapManager.CreateMap();
-                var grid = mapManager.CreateGrid(map);
-
-                var gridOwner = grid.Owner;
+                var map = mapSys.CreateMap(out var mapId);
+                var grid = mapManager.CreateGridEntity(mapId);
 
                 // Power only works when anchored
                 for (var i = 0; i < 3; i++)
                 {
-                    grid.SetTile(new Vector2i(0, i), new Tile(1));
-                    entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
+                    mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
+                    entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
                 }
 
-                var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates());
-                var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 1));
-                var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 2));
+                var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates());
+                var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 1));
+                var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 2));
 
                 supplier = entityManager.GetComponent<PowerSupplierComponent>(generatorEnt);
                 consumer1 = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt1);
@@ -229,6 +228,7 @@ namespace Content.IntegrationTests.Tests.Power
             var server = pair.Server;
             var mapManager = server.ResolveDependency<IMapManager>();
             var entityManager = server.ResolveDependency<IEntityManager>();
+            var mapSys = entityManager.System<SharedMapSystem>();
             const float loadPower = 200;
             PowerSupplierComponent supplier = default!;
             PowerConsumerComponent consumer1 = default!;
@@ -236,21 +236,19 @@ namespace Content.IntegrationTests.Tests.Power
 
             await server.WaitAssertion(() =>
             {
-                var map = mapManager.CreateMap();
-                var grid = mapManager.CreateGrid(map);
-
-                var gridOwner = grid.Owner;
+                var map = mapSys.CreateMap(out var mapId);
+                var grid = mapManager.CreateGridEntity(mapId);
 
                 // Power only works when anchored
                 for (var i = 0; i < 3; i++)
                 {
-                    grid.SetTile(new Vector2i(0, i), new Tile(1));
-                    entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
+                    mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
+                    entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
                 }
 
-                var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates());
-                var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 1));
-                var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 2));
+                var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates());
+                var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 1));
+                var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 2));
 
                 supplier = entityManager.GetComponent<PowerSupplierComponent>(generatorEnt);
                 consumer1 = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt1);
@@ -288,25 +286,25 @@ namespace Content.IntegrationTests.Tests.Power
             var server = pair.Server;
             var mapManager = server.ResolveDependency<IMapManager>();
             var entityManager = server.ResolveDependency<IEntityManager>();
+            var mapSys = entityManager.System<SharedMapSystem>();
             var gameTiming = server.ResolveDependency<IGameTiming>();
             PowerSupplierComponent supplier = default!;
             PowerConsumerComponent consumer = default!;
 
             await server.WaitAssertion(() =>
             {
-                var map = mapManager.CreateMap();
-                var grid = mapManager.CreateGrid(map);
-                var gridOwner = grid.Owner;
+                var map = mapSys.CreateMap(out var mapId);
+                var grid = mapManager.CreateGridEntity(mapId);
 
                 // Power only works when anchored
                 for (var i = 0; i < 3; i++)
                 {
-                    grid.SetTile(new Vector2i(0, i), new Tile(1));
-                    entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
+                    mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
+                    entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
                 }
 
-                var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates());
-                var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 2));
+                var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates());
+                var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 2));
 
                 supplier = entityManager.GetComponent<PowerSupplierComponent>(generatorEnt);
                 consumer = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt);
@@ -378,6 +376,7 @@ namespace Content.IntegrationTests.Tests.Power
             var entityManager = server.ResolveDependency<IEntityManager>();
             var gameTiming = server.ResolveDependency<IGameTiming>();
             var batterySys = entityManager.System<BatterySystem>();
+            var mapSys = entityManager.System<SharedMapSystem>();
             const float startingCharge = 100_000;
 
             PowerNetworkBatteryComponent netBattery = default!;
@@ -386,19 +385,18 @@ namespace Content.IntegrationTests.Tests.Power
 
             await server.WaitAssertion(() =>
             {
-                var map = mapManager.CreateMap();
-                var grid = mapManager.CreateGrid(map);
-                var gridOwner = grid.Owner;
+                var map = mapSys.CreateMap(out var mapId);
+                var grid = mapManager.CreateGridEntity(mapId);
 
                 // Power only works when anchored
                 for (var i = 0; i < 3; i++)
                 {
-                    grid.SetTile(new Vector2i(0, i), new Tile(1));
-                    entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
+                    mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
+                    entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
                 }
 
-                var generatorEnt = entityManager.SpawnEntity("DischargingBatteryDummy", gridOwner.ToCoordinates());
-                var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 2));
+                var generatorEnt = entityManager.SpawnEntity("DischargingBatteryDummy", grid.Owner.ToCoordinates());
+                var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 2));
 
                 netBattery = entityManager.GetComponent<PowerNetworkBatteryComponent>(generatorEnt);
                 battery = entityManager.GetComponent<BatteryComponent>(generatorEnt);
@@ -479,6 +477,7 @@ namespace Content.IntegrationTests.Tests.Power
             var mapManager = server.ResolveDependency<IMapManager>();
             var entityManager = server.ResolveDependency<IEntityManager>();
             var batterySys = entityManager.System<BatterySystem>();
+            var mapSys = entityManager.System<SharedMapSystem>();
             PowerSupplierComponent supplier = default!;
             PowerNetworkBatteryComponent netBattery = default!;
             BatteryComponent battery = default!;
@@ -490,20 +489,19 @@ namespace Content.IntegrationTests.Tests.Power
 
             await server.WaitAssertion(() =>
             {
-                var map = mapManager.CreateMap();
-                var grid = mapManager.CreateGrid(map);
-                var gridOwner = grid.Owner;
+                var map = mapSys.CreateMap(out var mapId);
+                var grid = mapManager.CreateGridEntity(mapId);
 
                 // Power only works when anchored
                 for (var i = 0; i < 3; i++)
                 {
-                    grid.SetTile(new Vector2i(0, i), new Tile(1));
-                    entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
+                    mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
+                    entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
                 }
 
-                var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates());
-                var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 1));
-                var batteryEnt = entityManager.SpawnEntity("DischargingBatteryDummy", gridOwner.ToCoordinates(0, 2));
+                var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates());
+                var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 1));
+                var batteryEnt = entityManager.SpawnEntity("DischargingBatteryDummy", grid.Owner.ToCoordinates(0, 2));
                 netBattery = entityManager.GetComponent<PowerNetworkBatteryComponent>(batteryEnt);
                 battery = entityManager.GetComponent<BatteryComponent>(batteryEnt);
                 supplier = entityManager.GetComponent<PowerSupplierComponent>(generatorEnt);
@@ -577,24 +575,24 @@ namespace Content.IntegrationTests.Tests.Power
             var gameTiming = server.ResolveDependency<IGameTiming>();
             var entityManager = server.ResolveDependency<IEntityManager>();
             var batterySys = entityManager.System<BatterySystem>();
+            var mapSys = entityManager.System<SharedMapSystem>();
             PowerSupplierComponent supplier = default!;
             BatteryComponent battery = default!;
 
             await server.WaitAssertion(() =>
             {
-                var map = mapManager.CreateMap();
-                var grid = mapManager.CreateGrid(map);
-                var gridOwner = grid.Owner;
+                var map = mapSys.CreateMap(out var mapId);
+                var grid = mapManager.CreateGridEntity(mapId);
 
                 // Power only works when anchored
                 for (var i = 0; i < 3; i++)
                 {
-                    grid.SetTile(new Vector2i(0, i), new Tile(1));
-                    entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
+                    mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
+                    entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
                 }
 
-                var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates());
-                var batteryEnt = entityManager.SpawnEntity("ChargingBatteryDummy", gridOwner.ToCoordinates(0, 2));
+                var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates());
+                var batteryEnt = entityManager.SpawnEntity("ChargingBatteryDummy", grid.Owner.ToCoordinates(0, 2));
 
                 supplier = entityManager.GetComponent<PowerSupplierComponent>(generatorEnt);
                 var netBattery = entityManager.GetComponent<PowerNetworkBatteryComponent>(batteryEnt);
@@ -634,6 +632,7 @@ namespace Content.IntegrationTests.Tests.Power
             var entityManager = server.ResolveDependency<IEntityManager>();
             var gameTiming = server.ResolveDependency<IGameTiming>();
             var batterySys = entityManager.System<BatterySystem>();
+            var mapSys = entityManager.System<SharedMapSystem>();
             PowerConsumerComponent consumer = default!;
             PowerSupplierComponent supplier = default!;
             PowerNetworkBatteryComponent netBattery = default!;
@@ -641,23 +640,22 @@ namespace Content.IntegrationTests.Tests.Power
 
             await server.WaitAssertion(() =>
             {
-                var map = mapManager.CreateMap();
-                var grid = mapManager.CreateGrid(map);
-                var gridOwner = grid.Owner;
+                var map = mapSys.CreateMap(out var mapId);
+                var grid = mapManager.CreateGridEntity(mapId);
 
                 // Power only works when anchored
                 for (var i = 0; i < 4; i++)
                 {
-                    grid.SetTile(new Vector2i(0, i), new Tile(1));
-                    entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
+                    mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
+                    entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
                 }
 
-                var terminal = entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 1));
+                var terminal = entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 1));
                 entityManager.GetComponent<TransformComponent>(terminal).LocalRotation = Angle.FromDegrees(180);
 
-                var batteryEnt = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 2));
-                var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, 0));
-                var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 3));
+                var batteryEnt = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 2));
+                var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, 0));
+                var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 3));
 
                 consumer = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt);
                 supplier = entityManager.GetComponent<PowerSupplierComponent>(supplyEnt);
@@ -712,6 +710,7 @@ namespace Content.IntegrationTests.Tests.Power
             var entityManager = server.ResolveDependency<IEntityManager>();
             var gameTiming = server.ResolveDependency<IGameTiming>();
             var batterySys = entityManager.System<BatterySystem>();
+            var mapSys = entityManager.System<SharedMapSystem>();
             PowerConsumerComponent consumer = default!;
             PowerSupplierComponent supplier = default!;
             PowerNetworkBatteryComponent netBattery = default!;
@@ -719,23 +718,22 @@ namespace Content.IntegrationTests.Tests.Power
 
             await server.WaitAssertion(() =>
             {
-                var map = mapManager.CreateMap();
-                var grid = mapManager.CreateGrid(map);
-                var gridOwner = grid.Owner;
+                var map = mapSys.CreateMap(out var mapId);
+                var grid = mapManager.CreateGridEntity(mapId);
 
                 // Power only works when anchored
                 for (var i = 0; i < 4; i++)
                 {
-                    grid.SetTile(new Vector2i(0, i), new Tile(1));
-                    entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
+                    mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
+                    entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
                 }
 
-                var terminal = entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 1));
+                var terminal = entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 1));
                 entityManager.GetComponent<TransformComponent>(terminal).LocalRotation = Angle.FromDegrees(180);
 
-                var batteryEnt = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 2));
-                var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, 0));
-                var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 3));
+                var batteryEnt = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 2));
+                var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, 0));
+                var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 3));
 
                 consumer = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt);
                 supplier = entityManager.GetComponent<PowerSupplierComponent>(supplyEnt);
@@ -789,15 +787,15 @@ namespace Content.IntegrationTests.Tests.Power
             var mapManager = server.ResolveDependency<IMapManager>();
             var entityManager = server.ResolveDependency<IEntityManager>();
             var batterySys = entityManager.System<BatterySystem>();
+            var mapSys = entityManager.System<SharedMapSystem>();
             PowerConsumerComponent consumer1 = default!;
             PowerConsumerComponent consumer2 = default!;
             PowerSupplierComponent supplier = default!;
 
             await server.WaitAssertion(() =>
             {
-                var map = mapManager.CreateMap();
-                var grid = mapManager.CreateGrid(map);
-                var gridOwner = grid.Owner;
+                var map = mapSys.CreateMap(out var mapId);
+                var grid = mapManager.CreateGridEntity(mapId);
 
                 // Map layout here is
                 // C - consumer
@@ -810,19 +808,19 @@ namespace Content.IntegrationTests.Tests.Power
                 // Power only works when anchored
                 for (var i = 0; i < 5; i++)
                 {
-                    grid.SetTile(new Vector2i(0, i), new Tile(1));
-                    entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
+                    mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
+                    entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
                 }
 
-                entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 2));
-                var terminal = entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 2));
+                entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 2));
+                var terminal = entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 2));
                 entityManager.GetComponent<TransformComponent>(terminal).LocalRotation = Angle.FromDegrees(180);
 
-                var batteryEnt1 = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 1));
-                var batteryEnt2 = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 3));
-                var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, 2));
-                var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 0));
-                var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 4));
+                var batteryEnt1 = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 1));
+                var batteryEnt2 = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 3));
+                var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, 2));
+                var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 0));
+                var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 4));
 
                 consumer1 = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt1);
                 consumer2 = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt2);
@@ -887,6 +885,7 @@ namespace Content.IntegrationTests.Tests.Power
             var entityManager = server.ResolveDependency<IEntityManager>();
             var gameTiming = server.ResolveDependency<IGameTiming>();
             var batterySys = entityManager.System<BatterySystem>();
+            var mapSys = entityManager.System<SharedMapSystem>();
             PowerConsumerComponent consumer = default!;
             PowerSupplierComponent supplier1 = default!;
             PowerSupplierComponent supplier2 = default!;
@@ -897,9 +896,8 @@ namespace Content.IntegrationTests.Tests.Power
 
             await server.WaitAssertion(() =>
             {
-                var map = mapManager.CreateMap();
-                var grid = mapManager.CreateGrid(map);
-                var gridOwner = grid.Owner;
+                var map = mapSys.CreateMap(out var mapId);
+                var grid = mapManager.CreateGridEntity(mapId);
 
                 // Layout is two generators, two batteries, and one load. As to why two: because previously this test
                 // would fail ONLY if there were more than two batteries present, because each of them tries to supply
@@ -911,17 +909,17 @@ namespace Content.IntegrationTests.Tests.Power
                 // Place cables
                 for (var i = -2; i <= 2; i++)
                 {
-                    grid.SetTile(new Vector2i(0, i), new Tile(1));
-                    entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
+                    mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
+                    entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
                 }
 
-                var batteryEnt1 = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 2));
-                var batteryEnt2 = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, -2));
+                var batteryEnt1 = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 2));
+                var batteryEnt2 = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, -2));
 
-                var supplyEnt1 = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, 1));
-                var supplyEnt2 = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, -1));
+                var supplyEnt1 = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, 1));
+                var supplyEnt2 = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, -1));
 
-                var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 0));
+                var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 0));
 
                 consumer = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt);
                 supplier1 = entityManager.GetComponent<PowerSupplierComponent>(supplyEnt1);
@@ -985,15 +983,15 @@ namespace Content.IntegrationTests.Tests.Power
             var mapManager = server.ResolveDependency<IMapManager>();
             var entityManager = server.ResolveDependency<IEntityManager>();
             var batterySys = entityManager.System<BatterySystem>();
+            var mapSys = entityManager.System<SharedMapSystem>();
             PowerConsumerComponent consumer1 = default!;
             PowerConsumerComponent consumer2 = default!;
             PowerSupplierComponent supplier = default!;
 
             await server.WaitAssertion(() =>
             {
-                var map = mapManager.CreateMap();
-                var grid = mapManager.CreateGrid(map);
-                var gridOwner = grid.Owner;
+                var map = mapSys.CreateMap(out var mapId);
+                var grid = mapManager.CreateGridEntity(mapId);
 
                 // Map layout here is
                 // C - consumer
@@ -1006,19 +1004,19 @@ namespace Content.IntegrationTests.Tests.Power
                 // Power only works when anchored
                 for (var i = 0; i < 5; i++)
                 {
-                    grid.SetTile(new Vector2i(0, i), new Tile(1));
-                    entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
+                    mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
+                    entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
                 }
 
-                entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 2));
-                var terminal = entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 2));
+                entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 2));
+                var terminal = entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 2));
                 entityManager.GetComponent<TransformComponent>(terminal).LocalRotation = Angle.FromDegrees(180);
 
-                var batteryEnt1 = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 1));
-                var batteryEnt2 = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 3));
-                var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, 2));
-                var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 0));
-                var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 4));
+                var batteryEnt1 = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 1));
+                var batteryEnt2 = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 3));
+                var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, 2));
+                var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 0));
+                var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 4));
 
                 consumer1 = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt1);
                 consumer2 = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt2);
@@ -1073,29 +1071,29 @@ namespace Content.IntegrationTests.Tests.Power
             var mapManager = server.ResolveDependency<IMapManager>();
             var entityManager = server.ResolveDependency<IEntityManager>();
             var batterySys = entityManager.System<BatterySystem>();
+            var mapSys = entityManager.System<SharedMapSystem>();
             PowerConsumerComponent consumer = default!;
             PowerSupplierComponent supplier = default!;
             PowerNetworkBatteryComponent netBattery = default!;
 
             await server.WaitPost(() =>
             {
-                var map = mapManager.CreateMap();
-                var grid = mapManager.CreateGrid(map);
-                var gridOwner = grid.Owner;
+                var map = mapSys.CreateMap(out var mapId);
+                var grid = mapManager.CreateGridEntity(mapId);
 
                 // Power only works when anchored
                 for (var i = 0; i < 4; i++)
                 {
-                    grid.SetTile(new Vector2i(0, i), new Tile(1));
-                    entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
+                    mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
+                    entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
                 }
 
-                var terminal = entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 1));
+                var terminal = entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 1));
                 entityManager.GetComponent<TransformComponent>(terminal).LocalRotation = Angle.FromDegrees(180);
 
-                var batteryEnt = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 2));
-                var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, 0));
-                var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 3));
+                var batteryEnt = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 2));
+                var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, 0));
+                var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 3));
 
                 consumer = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt);
                 supplier = entityManager.GetComponent<PowerSupplierComponent>(supplyEnt);
@@ -1158,6 +1156,7 @@ namespace Content.IntegrationTests.Tests.Power
             var mapManager = server.ResolveDependency<IMapManager>();
             var entityManager = server.ResolveDependency<IEntityManager>();
             var nodeContainer = entityManager.System<NodeContainerSystem>();
+            var mapSys = entityManager.System<SharedMapSystem>();
             CableNode leftNode = default!;
             CableNode rightNode = default!;
             Node batteryInput = default!;
@@ -1165,25 +1164,24 @@ namespace Content.IntegrationTests.Tests.Power
 
             await server.WaitAssertion(() =>
             {
-                var map = mapManager.CreateMap();
-                var grid = mapManager.CreateGrid(map);
-                var gridOwner = grid.Owner;
+                var map = mapSys.CreateMap(out var mapId);
+                var grid = mapManager.CreateGridEntity(mapId);
 
                 // Power only works when anchored
                 for (var i = 0; i < 4; i++)
                 {
-                    grid.SetTile(new Vector2i(0, i), new Tile(1));
+                    mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
                 }
 
-                var leftEnt = entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, 0));
-                entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, 1));
-                entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, 2));
-                var rightEnt = entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, 3));
+                var leftEnt = entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, 0));
+                entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, 1));
+                entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, 2));
+                var rightEnt = entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, 3));
 
-                var terminal = entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 1));
+                var terminal = entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 1));
                 entityManager.GetComponent<TransformComponent>(terminal).LocalRotation = Angle.FromDegrees(180);
 
-                var battery = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 2));
+                var battery = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 2));
                 var batteryNodeContainer = entityManager.GetComponent<NodeContainerComponent>(battery);
 
                 if (nodeContainer.TryGetNode<CableNode>(entityManager.GetComponent<NodeContainerComponent>(leftEnt),
@@ -1224,29 +1222,29 @@ namespace Content.IntegrationTests.Tests.Power
             var mapManager = server.ResolveDependency<IMapManager>();
             var entityManager = server.ResolveDependency<IEntityManager>();
             var batterySys = entityManager.System<BatterySystem>();
+            var mapSys = entityManager.System<SharedMapSystem>();
             PowerNetworkBatteryComponent substationNetBattery = default!;
             BatteryComponent apcBattery = default!;
 
             await server.WaitAssertion(() =>
             {
-                var map = mapManager.CreateMap();
-                var grid = mapManager.CreateGrid(map);
-                var gridOwner = grid.Owner;
+                var map = mapSys.CreateMap(out var mapId);
+                var grid = mapManager.CreateGridEntity(mapId);
 
                 // Power only works when anchored
                 for (var i = 0; i < 3; i++)
                 {
-                    grid.SetTile(new Vector2i(0, i), new Tile(1));
+                    mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
                 }
 
-                entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, 0));
-                entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, 1));
-                entityManager.SpawnEntity("CableMV", gridOwner.ToCoordinates(0, 1));
-                entityManager.SpawnEntity("CableMV", gridOwner.ToCoordinates(0, 2));
+                entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, 0));
+                entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, 1));
+                entityManager.SpawnEntity("CableMV", grid.Owner.ToCoordinates(0, 1));
+                entityManager.SpawnEntity("CableMV", grid.Owner.ToCoordinates(0, 2));
 
-                var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, 0));
-                var substationEnt = entityManager.SpawnEntity("SubstationDummy", gridOwner.ToCoordinates(0, 1));
-                var apcEnt = entityManager.SpawnEntity("ApcDummy", gridOwner.ToCoordinates(0, 2));
+                var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, 0));
+                var substationEnt = entityManager.SpawnEntity("SubstationDummy", grid.Owner.ToCoordinates(0, 1));
+                var apcEnt = entityManager.SpawnEntity("ApcDummy", grid.Owner.ToCoordinates(0, 2));
 
                 var generatorSupplier = entityManager.GetComponent<PowerSupplierComponent>(generatorEnt);
                 substationNetBattery = entityManager.GetComponent<PowerNetworkBatteryComponent>(substationEnt);
@@ -1281,33 +1279,33 @@ namespace Content.IntegrationTests.Tests.Power
             var entityManager = server.ResolveDependency<IEntityManager>();
             var batterySys = entityManager.System<BatterySystem>();
             var extensionCableSystem = entityManager.System<ExtensionCableSystem>();
+            var mapSys = entityManager.System<SharedMapSystem>();
             PowerNetworkBatteryComponent apcNetBattery = default!;
             ApcPowerReceiverComponent receiver = default!;
             ApcPowerReceiverComponent unpoweredReceiver = default!;
 
             await server.WaitAssertion(() =>
             {
-                var map = mapManager.CreateMap();
-                var grid = mapManager.CreateGrid(map);
-                var gridOwner = grid.Owner;
+                var map = mapSys.CreateMap(out var mapId);
+                var grid = mapManager.CreateGridEntity(mapId);
 
                 const int range = 5;
 
                 // Power only works when anchored
                 for (var i = 0; i < range; i++)
                 {
-                    grid.SetTile(new Vector2i(0, i), new Tile(1));
+                    mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
                 }
 
-                var apcEnt = entityManager.SpawnEntity("ApcDummy", gridOwner.ToCoordinates(0, 0));
-                var apcExtensionEnt = entityManager.SpawnEntity("CableApcExtension", gridOwner.ToCoordinates(0, 0));
+                var apcEnt = entityManager.SpawnEntity("ApcDummy", grid.Owner.ToCoordinates(0, 0));
+                var apcExtensionEnt = entityManager.SpawnEntity("CableApcExtension", grid.Owner.ToCoordinates(0, 0));
 
                 // Create a powered receiver in range (range is 0 indexed)
-                var powerReceiverEnt = entityManager.SpawnEntity("ApcPowerReceiverDummy", gridOwner.ToCoordinates(0, range - 1));
+                var powerReceiverEnt = entityManager.SpawnEntity("ApcPowerReceiverDummy", grid.Owner.ToCoordinates(0, range - 1));
                 receiver = entityManager.GetComponent<ApcPowerReceiverComponent>(powerReceiverEnt);
 
                 // Create an unpowered receiver outside range
-                var unpoweredReceiverEnt = entityManager.SpawnEntity("ApcPowerReceiverDummy", gridOwner.ToCoordinates(0, range));
+                var unpoweredReceiverEnt = entityManager.SpawnEntity("ApcPowerReceiverDummy", grid.Owner.ToCoordinates(0, range));
                 unpoweredReceiver = entityManager.GetComponent<ApcPowerReceiverComponent>(unpoweredReceiverEnt);
 
                 var battery = entityManager.GetComponent<BatteryComponent>(apcEnt);
index 9e26fa5eaa280d792268ee4909a71639e5a18b24..1ef34365ea3d1a367c8bcddfe19237fe028628ff 100644 (file)
@@ -40,6 +40,7 @@ public sealed class PrototypeSaveTest
         var prototypeMan = server.ResolveDependency<IPrototypeManager>();
         var seriMan = server.ResolveDependency<ISerializationManager>();
         var compFact = server.ResolveDependency<IComponentFactory>();
+        var mapSystem = server.System<SharedMapSystem>();
 
         var prototypes = new List<EntityPrototype>();
         EntityUid uid;
@@ -77,7 +78,7 @@ public sealed class PrototypeSaveTest
 
         await server.WaitAssertion(() =>
         {
-            Assert.That(!mapManager.IsMapInitialized(mapId));
+            Assert.That(!mapSystem.IsInitialized(mapId));
             var testLocation = grid.Owner.ToCoordinates();
 
             Assert.Multiple(() =>
@@ -184,7 +185,7 @@ public sealed class PrototypeSaveTest
             IDependencyCollection dependencies, bool alwaysWrite = false,
             ISerializationContext? context = null)
         {
-            if (WritingComponent != "Transform" && (Prototype?.NoSpawn == false))
+            if (WritingComponent != "Transform" && Prototype?.HideSpawnMenu == false)
             {
                 // Maybe this will be necessary in the future, but at the moment it just indicates that there is some
                 // issue, like a non-nullable entityUid data-field. If a component MUST have an entity uid to work with,
index 87d174f7272272694466fd57d2b76885ccdd66ff..a4fde86dbfb2b4dff3efbe5b99bdc3aa04e47122 100644 (file)
@@ -29,7 +29,7 @@ public sealed class PullerTest
             {
                 foreach (var proto in protoManager.EnumeratePrototypes<EntityPrototype>())
                 {
-                    if (!proto.TryGetComponent(out PullerComponent? puller))
+                    if (!proto.TryGetComponent(out PullerComponent? puller, compFactory))
                         continue;
 
                     if (!puller.NeedsHands)
index ee319daa436b469571c048cccee72c284658f749..7ae29a79ffd58706cd3ae0ecac8b92f9e7462bfa 100644 (file)
@@ -2,6 +2,7 @@ using System.Collections.Generic;
 using System.Linq;
 using Content.Shared.Lathe;
 using Content.Shared.Research.Prototypes;
+using Robust.Shared.GameObjects;
 using Robust.Shared.Prototypes;
 
 namespace Content.IntegrationTests.Tests;
@@ -52,6 +53,7 @@ public sealed class ResearchTest
         var server = pair.Server;
 
         var protoManager = server.ResolveDependency<IPrototypeManager>();
+        var compFact = server.ResolveDependency<IComponentFactory>();
 
         await server.WaitAssertion(() =>
         {
@@ -65,7 +67,7 @@ public sealed class ResearchTest
                 if (pair.IsTestPrototype(proto))
                     continue;
 
-                if (!proto.TryGetComponent<LatheComponent>(out var lathe))
+                if (!proto.TryGetComponent<LatheComponent>(out var lathe, compFact))
                     continue;
                 allLathes.Add(lathe);
             }
index 716e3cf4c21869d0e196f758072ac0d52f49fd28..215890791dae81ec5fdf077262620d8b36a59820 100644 (file)
@@ -18,14 +18,14 @@ namespace Content.IntegrationTests.Tests.Round;
 [TestFixture]
 public sealed class JobTest
 {
-    private static ProtoId<JobPrototype> _passenger = "Passenger";
-    private static ProtoId<JobPrototype> _engineer = "StationEngineer";
-    private static ProtoId<JobPrototype> _captain = "Captain";
+    private static readonly ProtoId<JobPrototype> Passenger = "Passenger";
+    private static readonly ProtoId<JobPrototype> Engineer = "StationEngineer";
+    private static readonly ProtoId<JobPrototype> Captain = "Captain";
 
     private static string _map = "JobTestMap";
 
     [TestPrototypes]
-    public static string JobTestMap = @$"
+    private static readonly string JobTestMap = @$"
 - type: gameMap
   id: {_map}
   mapName: {_map}
@@ -39,12 +39,12 @@ public sealed class JobTest
           mapNameTemplate: ""Empty""
         - type: StationJobs
           availableJobs:
-            {_passenger}: [ -1, -1 ]
-            {_engineer}: [ -1, -1 ]
-            {_captain}: [ 1, 1 ]
+            {Passenger}: [ -1, -1 ]
+            {Engineer}: [ -1, -1 ]
+            {Captain}: [ 1, 1 ]
 ";
 
-    public void AssertJob(TestPair pair, ProtoId<JobPrototype> job, NetUserId? user = null, bool isAntag = false)
+    private void AssertJob(TestPair pair, ProtoId<JobPrototype> job, NetUserId? user = null, bool isAntag = false)
     {
         var jobSys = pair.Server.System<SharedJobSystem>();
         var mindSys = pair.Server.System<MindSystem>();
@@ -92,7 +92,7 @@ public sealed class JobTest
         await pair.Server.WaitPost(() => ticker.StartRound());
         await pair.RunTicksSync(10);
 
-        AssertJob(pair, _passenger);
+        AssertJob(pair, Passenger);
 
         await pair.Server.WaitPost(() => ticker.RestartRound());
         await pair.CleanReturnAsync();
@@ -116,21 +116,21 @@ public sealed class JobTest
         Assert.That(ticker.RunLevel, Is.EqualTo(GameRunLevel.PreRoundLobby));
         Assert.That(pair.Client.AttachedEntity, Is.Null);
 
-        await pair.SetJobPriorities((_passenger, JobPriority.Medium), (_engineer, JobPriority.High));
+        await pair.SetJobPriorities((Passenger, JobPriority.Medium), (Engineer, JobPriority.High));
         ticker.ToggleReadyAll(true);
         await pair.Server.WaitPost(() => ticker.StartRound());
         await pair.RunTicksSync(10);
 
-        AssertJob(pair, _engineer);
+        AssertJob(pair, Engineer);
 
         await pair.Server.WaitPost(() => ticker.RestartRound());
         Assert.That(ticker.RunLevel, Is.EqualTo(GameRunLevel.PreRoundLobby));
-        await pair.SetJobPriorities((_passenger, JobPriority.High), (_engineer, JobPriority.Medium));
+        await pair.SetJobPriorities((Passenger, JobPriority.High), (Engineer, JobPriority.Medium));
         ticker.ToggleReadyAll(true);
         await pair.Server.WaitPost(() => ticker.StartRound());
         await pair.RunTicksSync(10);
 
-        AssertJob(pair, _passenger);
+        AssertJob(pair, Passenger);
 
         await pair.Server.WaitPost(() => ticker.RestartRound());
         await pair.CleanReturnAsync();
@@ -155,18 +155,18 @@ public sealed class JobTest
         Assert.That(ticker.RunLevel, Is.EqualTo(GameRunLevel.PreRoundLobby));
         Assert.That(pair.Client.AttachedEntity, Is.Null);
 
-        var captain = pair.Server.ProtoMan.Index(_captain);
-        var engineer = pair.Server.ProtoMan.Index(_engineer);
-        var passenger = pair.Server.ProtoMan.Index(_passenger);
+        var captain = pair.Server.ProtoMan.Index(Captain);
+        var engineer = pair.Server.ProtoMan.Index(Engineer);
+        var passenger = pair.Server.ProtoMan.Index(Passenger);
         Assert.That(captain.Weight, Is.GreaterThan(engineer.Weight));
         Assert.That(engineer.Weight, Is.EqualTo(passenger.Weight));
 
-        await pair.SetJobPriorities((_passenger, JobPriority.Medium), (_engineer, JobPriority.High), (_captain, JobPriority.Low));
+        await pair.SetJobPriorities((Passenger, JobPriority.Medium), (Engineer, JobPriority.High), (Captain, JobPriority.Low));
         ticker.ToggleReadyAll(true);
         await pair.Server.WaitPost(() => ticker.StartRound());
         await pair.RunTicksSync(10);
 
-        AssertJob(pair, _captain);
+        AssertJob(pair, Captain);
 
         await pair.Server.WaitPost(() => ticker.RestartRound());
         await pair.CleanReturnAsync();
@@ -197,22 +197,22 @@ public sealed class JobTest
         var captain = engineers[3];
         engineers.RemoveAt(3);
 
-        await pair.SetJobPriorities(captain, (_captain, JobPriority.High), (_engineer, JobPriority.Medium));
+        await pair.SetJobPriorities(captain, (Captain, JobPriority.High), (Engineer, JobPriority.Medium));
         foreach (var engi in engineers)
         {
-            await pair.SetJobPriorities(engi, (_captain, JobPriority.Medium), (_engineer, JobPriority.High));
+            await pair.SetJobPriorities(engi, (Captain, JobPriority.Medium), (Engineer, JobPriority.High));
         }
 
         ticker.ToggleReadyAll(true);
         await pair.Server.WaitPost(() => ticker.StartRound());
         await pair.RunTicksSync(10);
 
-        AssertJob(pair, _captain, captain);
+        AssertJob(pair, Captain, captain);
         Assert.Multiple(() =>
         {
             foreach (var engi in engineers)
             {
-                AssertJob(pair, _engineer, engi);
+                AssertJob(pair, Engineer, engi);
             }
         });
 
index 9d75428beb7bbcaa0829a84f4282b4fcbc9788f4..5dfba82308f03f130da890ea1d867c80670d0cad 100644 (file)
@@ -1,5 +1,4 @@
 using System.Linq;
-using Content.Server.Salvage;
 using Content.Shared.CCVar;
 using Content.Shared.Salvage;
 using Robust.Server.GameObjects;
@@ -28,6 +27,7 @@ public sealed class SalvageTest
         var mapManager = server.ResolveDependency<IMapManager>();
         var prototypeManager = server.ResolveDependency<IPrototypeManager>();
         var cfg = server.ResolveDependency<IConfigurationManager>();
+        var mapSystem = entManager.System<SharedMapSystem>();
         Assert.That(cfg.GetCVar(CCVars.GridFill), Is.False);
 
         await server.WaitPost(() =>
@@ -36,7 +36,7 @@ public sealed class SalvageTest
             {
                 var mapFile = salvage.MapPath;
 
-                var mapId = mapManager.CreateMap();
+                mapSystem.CreateMap(out var mapId);
                 try
                 {
                     Assert.That(mapLoader.TryLoad(mapId, mapFile.ToString(), out var roots));
index db2109ca599ee200c7caa9d6f777046fd4e03d11..213da5d786265a398fb132555c688249d075fdf0 100644 (file)
@@ -23,6 +23,7 @@ namespace Content.IntegrationTests.Tests
             var mapManager = server.ResolveDependency<IMapManager>();
             var sEntities = server.ResolveDependency<IEntityManager>();
             var mapLoader = sEntities.System<MapLoaderSystem>();
+            var mapSystem = sEntities.System<SharedMapSystem>();
             var xformSystem = sEntities.EntitySysManager.GetEntitySystem<SharedTransformSystem>();
             var resManager = server.ResolveDependency<IResourceManager>();
             var cfg = server.ResolveDependency<IConfigurationManager>();
@@ -33,19 +34,17 @@ namespace Content.IntegrationTests.Tests
                 var dir = new ResPath(mapPath).Directory;
                 resManager.UserData.CreateDir(dir);
 
-                var mapId = mapManager.CreateMap();
+                mapSystem.CreateMap(out var mapId);
 
                 {
-                    var mapGrid = mapManager.CreateGrid(mapId);
-                    var mapGridEnt = mapGrid.Owner;
-                    xformSystem.SetWorldPosition(mapGridEnt, new Vector2(10, 10));
-                    mapGrid.SetTile(new Vector2i(0, 0), new Tile(1, (TileRenderFlag) 1, 255));
+                    var mapGrid = mapManager.CreateGridEntity(mapId);
+                    xformSystem.SetWorldPosition(mapGrid, new Vector2(10, 10));
+                    mapSystem.SetTile(mapGrid, new Vector2i(0, 0), new Tile(1, (TileRenderFlag) 1, 255));
                 }
                 {
-                    var mapGrid = mapManager.CreateGrid(mapId);
-                    var mapGridEnt = mapGrid.Owner;
-                    xformSystem.SetWorldPosition(mapGridEnt, new Vector2(-8, -8));
-                    mapGrid.SetTile(new Vector2i(0, 0), new Tile(2, (TileRenderFlag) 1, 254));
+                    var mapGrid = mapManager.CreateGridEntity(mapId);
+                    xformSystem.SetWorldPosition(mapGrid, new Vector2(-8, -8));
+                    mapSystem.SetTile(mapGrid, new Vector2i(0, 0), new Tile(2, (TileRenderFlag) 1, 254));
                 }
 
                 Assert.Multiple(() => mapLoader.SaveMap(mapId, mapPath));
@@ -74,7 +73,7 @@ namespace Content.IntegrationTests.Tests
                     Assert.Multiple(() =>
                     {
                         Assert.That(xformSystem.GetWorldPosition(gridXform), Is.EqualTo(new Vector2(10, 10)));
-                        Assert.That(mapGrid.GetTileRef(new Vector2i(0, 0)).Tile, Is.EqualTo(new Tile(1, (TileRenderFlag) 1, 255)));
+                        Assert.That(mapSystem.GetTileRef(gridUid, mapGrid, new Vector2i(0, 0)).Tile, Is.EqualTo(new Tile(1, (TileRenderFlag) 1, 255)));
                     });
                 }
                 {
@@ -88,7 +87,7 @@ namespace Content.IntegrationTests.Tests
                     Assert.Multiple(() =>
                     {
                         Assert.That(xformSystem.GetWorldPosition(gridXform), Is.EqualTo(new Vector2(-8, -8)));
-                        Assert.That(mapGrid.GetTileRef(new Vector2i(0, 0)).Tile, Is.EqualTo(new Tile(2, (TileRenderFlag) 1, 254)));
+                        Assert.That(mapSystem.GetTileRef(gridUid, mapGrid, new Vector2i(0, 0)).Tile, Is.EqualTo(new Tile(2, (TileRenderFlag) 1, 254)));
                     });
                 }
             });
index 72c6d464e2935802009b87d354a5056e9fe285eb..4facd5ee40c98165ba95009b6e46f9721df0f483 100644 (file)
@@ -25,17 +25,18 @@ namespace Content.IntegrationTests.Tests
             var server = pair.Server;
             var entManager = server.ResolveDependency<IEntityManager>();
             var mapLoader = entManager.System<MapLoaderSystem>();
+            var mapSystem = entManager.System<SharedMapSystem>();
             var mapManager = server.ResolveDependency<IMapManager>();
             var cfg = server.ResolveDependency<IConfigurationManager>();
             Assert.That(cfg.GetCVar(CCVars.GridFill), Is.False);
 
             await server.WaitPost(() =>
             {
-                var mapId0 = mapManager.CreateMap();
+                mapSystem.CreateMap(out var mapId0);
                 // TODO: Properly find the "main" station grid.
-                var grid0 = mapManager.CreateGrid(mapId0);
+                var grid0 = mapManager.CreateGridEntity(mapId0);
                 mapLoader.Save(grid0.Owner, "save load save 1.yml");
-                var mapId1 = mapManager.CreateMap();
+                mapSystem.CreateMap(out var mapId1);
                 EntityUid grid1 = default!;
 #pragma warning disable NUnit2045
                 Assert.That(mapLoader.TryLoad(mapId1, "save load save 1.yml", out var roots, new MapLoadOptions() { LoadMap = false }), $"Failed to load test map {TestMap}");
@@ -101,6 +102,7 @@ namespace Content.IntegrationTests.Tests
             var server = pair.Server;
             var mapLoader = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<MapLoaderSystem>();
             var mapManager = server.ResolveDependency<IMapManager>();
+            var mapSystem = server.System<SharedMapSystem>();
 
             MapId mapId = default;
             var cfg = server.ResolveDependency<IConfigurationManager>();
@@ -109,8 +111,7 @@ namespace Content.IntegrationTests.Tests
             // Load bagel.yml as uninitialized map, and save it to ensure it's up to date.
             server.Post(() =>
             {
-                mapId = mapManager.CreateMap();
-                mapManager.AddUninitializedMap(mapId);
+                mapSystem.CreateMap(out mapId, runMapInit: false);
                 mapManager.SetMapPaused(mapId, true);
                 Assert.That(mapLoader.TryLoad(mapId, TestMap, out _), $"Failed to load test map {TestMap}");
                 mapLoader.SaveMap(mapId, "load save ticks save 1.yml");
@@ -182,7 +183,8 @@ namespace Content.IntegrationTests.Tests
             await using var pair = await PoolManager.GetServerClient();
             var server = pair.Server;
 
-            var mapLoader = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<MapLoaderSystem>();
+            var mapLoader = server.System<MapLoaderSystem>();
+            var mapSystem = server.System<SharedMapSystem>();
             var mapManager = server.ResolveDependency<IMapManager>();
             var userData = server.ResolveDependency<IResourceManager>().UserData;
             var cfg = server.ResolveDependency<IConfigurationManager>();
@@ -197,8 +199,7 @@ namespace Content.IntegrationTests.Tests
             // Load & save the first map
             server.Post(() =>
             {
-                mapId = mapManager.CreateMap();
-                mapManager.AddUninitializedMap(mapId);
+                mapSystem.CreateMap(out mapId, runMapInit: false);
                 mapManager.SetMapPaused(mapId, true);
                 Assert.That(mapLoader.TryLoad(mapId, TestMap, out _), $"Failed to load test map {TestMap}");
                 mapLoader.SaveMap(mapId, fileA);
@@ -217,8 +218,7 @@ namespace Content.IntegrationTests.Tests
             server.Post(() =>
             {
                 mapManager.DeleteMap(mapId);
-                mapManager.CreateMap(mapId);
-                mapManager.AddUninitializedMap(mapId);
+                mapSystem.CreateMap(out mapId, runMapInit: false);
                 mapManager.SetMapPaused(mapId, true);
                 Assert.That(mapLoader.TryLoad(mapId, TestMap, out _), $"Failed to load test map {TestMap}");
                 mapLoader.SaveMap(mapId, fileB);
index 052ea997c0d5dd0a10687865bccf5c38bba74ea6..339420362c19254d1282368680e1aa7a4b3eec12 100644 (file)
@@ -24,7 +24,7 @@ public sealed partial class SerializationTest
 
         Enum value = TestEnum.Bb;
 
-        var node = seriMan.WriteValue(value, notNullableOverride:true);
+        var node = seriMan.WriteValue(value, notNullableOverride: true);
         var valueNode = node as ValueDataNode;
         Assert.That(valueNode, Is.Not.Null);
 
@@ -34,22 +34,22 @@ public sealed partial class SerializationTest
         var errors = seriMan.ValidateNode<Enum>(valueNode).GetErrors();
         Assert.That(errors.Any(), Is.False);
 
-        var deserialized = seriMan.Read<Enum>(node, notNullableOverride:true);
+        var deserialized = seriMan.Read<Enum>(node, notNullableOverride: true);
         Assert.That(deserialized, Is.EqualTo(value));
 
         // Repeat test with enums in a data definitions.
         var data = new TestData
         {
             Value = TestEnum.Cc,
-            Sequence = new() {TestEnum.Dd, TestEnum.Aa}
+            Sequence = [TestEnum.Dd, TestEnum.Aa]
         };
 
-        node = seriMan.WriteValue(data, notNullableOverride:true);
+        node = seriMan.WriteValue(data, notNullableOverride: true);
 
         errors = seriMan.ValidateNode<TestData>(node).GetErrors();
         Assert.That(errors.Any(), Is.False);
 
-        var deserializedData = seriMan.Read<TestData>(node, notNullableOverride:false);
+        var deserializedData = seriMan.Read<TestData>(node, notNullableOverride: false);
 
         Assert.That(deserializedData.Value, Is.EqualTo(data.Value));
         Assert.That(deserializedData.Sequence.Count, Is.EqualTo(data.Sequence.Count));
@@ -60,7 +60,7 @@ public sealed partial class SerializationTest
         Enum genericValue = TestEnum.Bb;
         TestEnum typedValue = TestEnum.Bb;
 
-        var genericNode = seriMan.WriteValue(genericValue, notNullableOverride:true);
+        var genericNode = seriMan.WriteValue(genericValue, notNullableOverride: true);
         var typedNode = seriMan.WriteValue(typedValue);
 
         Assert.That(seriMan.ValidateNode<Enum>(genericNode).GetErrors().Any(), Is.False);
@@ -76,7 +76,7 @@ public sealed partial class SerializationTest
     [DataDefinition]
     private sealed partial class TestData
     {
-        [DataField("value")] public Enum Value = default!;
-        [DataField("sequence")] public List<Enum> Sequence = default!;
+        [DataField] public Enum Value = default!;
+        [DataField] public List<Enum> Sequence = default!;
     }
 }
index fb786373a5afd7b4064f49b5aa60791438604855..da5b82d91e7589d658180e9f43019a583c3ba745 100644 (file)
@@ -2,7 +2,6 @@ using System.Numerics;
 using Content.Server.Shuttles.Components;
 using Robust.Shared.GameObjects;
 using Robust.Shared.Map;
-using Robust.Shared.Maths;
 using Robust.Shared.Physics;
 using Robust.Shared.Physics.Components;
 using Robust.Shared.Physics.Systems;
@@ -23,33 +22,33 @@ namespace Content.IntegrationTests.Tests
             var entManager = server.ResolveDependency<IEntityManager>();
             var physicsSystem = entManager.System<SharedPhysicsSystem>();
 
-            EntityUid gridEnt = default;
             PhysicsComponent gridPhys = null;
 
+            var map = await pair.CreateTestMap();
+
             await server.WaitAssertion(() =>
             {
-                var mapId = mapMan.CreateMap();
-                var grid = mapMan.CreateGridEntity(mapId);
-                gridEnt = grid.Owner;
+                var mapId = map.MapId;
+                var grid = map.Grid;
 
                 Assert.Multiple(() =>
                 {
-                    Assert.That(entManager.HasComponent<ShuttleComponent>(gridEnt));
-                    Assert.That(entManager.TryGetComponent(gridEnt, out gridPhys));
+                    Assert.That(entManager.HasComponent<ShuttleComponent>(grid));
+                    Assert.That(entManager.TryGetComponent(grid, out gridPhys));
                 });
                 Assert.Multiple(() =>
                 {
                     Assert.That(gridPhys.BodyType, Is.EqualTo(BodyType.Dynamic));
-                    Assert.That(entManager.GetComponent<TransformComponent>(gridEnt).LocalPosition, Is.EqualTo(Vector2.Zero));
+                    Assert.That(entManager.GetComponent<TransformComponent>(grid).LocalPosition, Is.EqualTo(Vector2.Zero));
                 });
-                physicsSystem.ApplyLinearImpulse(gridEnt, Vector2.One, body: gridPhys);
+                physicsSystem.ApplyLinearImpulse(grid, Vector2.One, body: gridPhys);
             });
 
             await server.WaitRunTicks(1);
 
             await server.WaitAssertion(() =>
             {
-                Assert.That(entManager.GetComponent<TransformComponent>(gridEnt).LocalPosition, Is.Not.EqualTo(Vector2.Zero));
+                Assert.That(entManager.GetComponent<TransformComponent>(map.Grid).LocalPosition, Is.Not.EqualTo(Vector2.Zero));
             });
             await pair.CleanReturnAsync();
         }
index 1762c4213c415960b47d1d95af25dec460d8ceb7..bf75188f02962e79f2461a1438f1b00bc10f005e 100644 (file)
@@ -19,12 +19,12 @@ namespace Content.IntegrationTests.Tests.Sprite;
 /// - Shouldn't have an item component
 /// - Is missing the required sprite information.
 /// If none of the abveo are true, it might need to be added to the list of ignored components, see
-/// <see cref="_ignored"/>
+/// <see cref="Ignored"/>
 /// </remarks>
 [TestFixture]
 public sealed class PrototypeSaveTest
 {
-    private static HashSet<string> _ignored = new()
+    private static readonly HashSet<string> Ignored = new()
     {
         // The only prototypes that should get ignored are those that REQUIRE setup to get a sprite. At that point it is
         // the responsibility of the spawner to ensure that a valid sprite is set.
@@ -34,13 +34,13 @@ public sealed class PrototypeSaveTest
     [Test]
     public async Task AllItemsHaveSpritesTest()
     {
-        var settings = new PoolSettings() {Connected = true}; // client needs to be in-game
+        var settings = new PoolSettings() { Connected = true }; // client needs to be in-game
         await using var pair = await PoolManager.GetServerClient(settings);
-        List<EntityPrototype> badPrototypes = new();
+        List<EntityPrototype> badPrototypes = [];
 
         await pair.Client.WaitPost(() =>
         {
-            foreach (var proto in pair.GetPrototypesWithComponent<ItemComponent>(_ignored))
+            foreach (var proto in pair.GetPrototypesWithComponent<ItemComponent>(Ignored))
             {
                 var dummy = pair.Client.EntMan.Spawn(proto.ID);
                 pair.Client.EntMan.RunMapInit(dummy, pair.Client.MetaData(dummy));
index dd68ff1ccf1f6bd3c3f84d7635a469af770b73c5..7de81fb3dc2517b72bd1e3614885e50a48a69294 100644 (file)
@@ -36,16 +36,18 @@ public abstract class ToolshedTest : IInvocationContext
         await TearDown();
     }
 
-    protected virtual async Task TearDown()
+    protected virtual Task TearDown()
     {
         Assert.That(_expectedErrors, Is.Empty);
         ClearErrors();
+
+        return Task.CompletedTask;
     }
 
     [SetUp]
     public virtual async Task Setup()
     {
-        Pair = await PoolManager.GetServerClient(new PoolSettings {Connected = Connected});
+        Pair = await PoolManager.GetServerClient(new PoolSettings { Connected = Connected });
         Server = Pair.Server;
 
         if (Connected)
@@ -142,7 +144,7 @@ public abstract class ToolshedTest : IInvocationContext
                 );
         }
 
-        done:
+    done:
         _errors.Add(err);
     }
 
index 3cceaefbdc9eaef8f4584ff65eabcae4f23f203a..e067a27854f6b4b7d6b19003dfe841fd973f31fb 100644 (file)
@@ -111,6 +111,7 @@ namespace Content.IntegrationTests.Tests
             await server.WaitIdleAsync();
 
             var prototypeManager = server.ResolveDependency<IPrototypeManager>();
+            var compFact = server.ResolveDependency<IComponentFactory>();
 
             await server.WaitAssertion(() =>
             {
@@ -133,7 +134,7 @@ namespace Content.IntegrationTests.Tests
                 // Collect all the prototypes with StorageFills referencing those entities.
                 foreach (var proto in prototypeManager.EnumeratePrototypes<EntityPrototype>())
                 {
-                    if (!proto.TryGetComponent<StorageFillComponent>(out var storage))
+                    if (!proto.TryGetComponent<StorageFillComponent>(out var storage, compFact))
                         continue;
 
                     List<string> restockStore = new();