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