* Revert "Fix chat bubbles (#25643)" This reverts commit23d2c4d924. * Revert "Fixes obsolete Transform warnings in Content. (#25256)" This reverts commitf284b43ff6.
59 lines
1.9 KiB
C#
59 lines
1.9 KiB
C#
using System.Linq;
|
|
using Content.Shared.Hands.Components;
|
|
using Content.Shared.Hands.EntitySystems;
|
|
using Robust.Server.Player;
|
|
using Robust.Shared.GameObjects;
|
|
using Robust.Shared.Map;
|
|
|
|
namespace Content.IntegrationTests.Tests.Hands;
|
|
|
|
[TestFixture]
|
|
public sealed class HandTests
|
|
{
|
|
[Test]
|
|
public async Task TestPickupDrop()
|
|
{
|
|
await using var pair = await PoolManager.GetServerClient(new PoolSettings
|
|
{
|
|
Connected = true,
|
|
DummyTicker = false
|
|
});
|
|
var server = pair.Server;
|
|
|
|
var entMan = server.ResolveDependency<IEntityManager>();
|
|
var playerMan = server.ResolveDependency<IPlayerManager>();
|
|
var mapMan = server.ResolveDependency<IMapManager>();
|
|
var sys = entMan.System<SharedHandsSystem>();
|
|
|
|
var data = await pair.CreateTestMap();
|
|
await pair.RunTicksSync(5);
|
|
|
|
EntityUid item = default;
|
|
EntityUid player = default;
|
|
HandsComponent hands = default!;
|
|
await server.WaitPost(() =>
|
|
{
|
|
player = playerMan.Sessions.First().AttachedEntity!.Value;
|
|
var xform = entMan.GetComponent<TransformComponent>(player);
|
|
item = entMan.SpawnEntity("Crowbar", xform.MapPosition);
|
|
hands = entMan.GetComponent<HandsComponent>(player);
|
|
sys.TryPickup(player, item, hands.ActiveHand!);
|
|
});
|
|
|
|
// run ticks here is important, as errors may happen within the container system's frame update methods.
|
|
await pair.RunTicksSync(5);
|
|
Assert.That(hands.ActiveHandEntity, Is.EqualTo(item));
|
|
|
|
await server.WaitPost(() =>
|
|
{
|
|
sys.TryDrop(player, item, null!);
|
|
});
|
|
|
|
await pair.RunTicksSync(5);
|
|
Assert.That(hands.ActiveHandEntity, Is.Null);
|
|
|
|
await server.WaitPost(() => mapMan.DeleteMap(data.MapId));
|
|
await pair.CleanReturnAsync();
|
|
}
|
|
}
|