var entityManager = server.ResolveDependency<IEntityManager>();
var xformSystem = entityManager.System<SharedTransformSystem>();
var disposalSystem = entityManager.System<DisposalUnitSystem>();
-
await server.WaitAssertion(() =>
{
// Spawn the entities
human = entityManager.SpawnEntity("HumanDisposalDummy", coordinates);
wrench = entityManager.SpawnEntity("WrenchDummy", coordinates);
disposalUnit = entityManager.SpawnEntity("DisposalUnitDummy", coordinates);
- disposalTrunk = entityManager.SpawnEntity("DisposalTrunkDummy",
- entityManager.GetComponent<TransformComponent>(disposalUnit).MapPosition);
+ disposalTrunk = entityManager.SpawnEntity("DisposalTrunkDummy", coordinates);
// Test for components existing
unitUid = disposalUnit;
await server.WaitAssertion(() =>
{
- // Move the disposal trunk away
- var xform = entityManager.GetComponent<TransformComponent>(disposalTrunk);
var worldPos = xformSystem.GetWorldPosition(disposalTrunk);
- xformSystem.SetWorldPosition(xform, worldPos + new Vector2(1, 0));
+
+ // Move the disposal trunk away
+ xformSystem.SetWorldPosition(disposalTrunk, worldPos + new Vector2(1, 0));
// Fail to flush with a mob and an item
Flush(disposalUnit, unitComponent, false, disposalSystem, human, wrench);
await server.WaitAssertion(() =>
{
- // Move the disposal trunk back
var xform = entityManager.GetComponent<TransformComponent>(disposalTrunk);
- var worldPos = xformSystem.GetWorldPosition(disposalTrunk);
- xformSystem.SetWorldPosition(xform, worldPos - new Vector2(1, 0));
+ var worldPos = xformSystem.GetWorldPosition(disposalUnit);
+
+ // Move the disposal trunk back
+ xformSystem.SetWorldPosition(disposalTrunk, worldPos);
+ xformSystem.AnchorEntity((disposalTrunk, xform));
// Fail to flush with a mob and an item, no power
Flush(disposalUnit, unitComponent, false, disposalSystem, human, wrench);
// Re-pressurizing
Flush(disposalUnit, unitComponent, false, disposalSystem);
});
+
await pair.CleanReturnAsync();
}
}