Further pickup animation improvements.

This commit is contained in:
Vera Aguilera Puerto
2021-08-06 19:20:27 +02:00
parent 5c719a3376
commit 41ddf3d7eb
6 changed files with 13 additions and 18 deletions

View File

@@ -86,19 +86,15 @@ namespace Content.Server.Hands.Components
protected override void HandlePickupAnimation(IEntity entity)
{
var pickupDirection = Owner.Transform.MapPosition.Position;
var initialPosition = EntityCoordinates.FromMap(Owner.Transform.Coordinates.GetParent(Owner.EntityManager), entity.Transform.MapPosition);
var outermostEntity = entity;
while (outermostEntity.TryGetContainer(out var container)) //TODO: Use WorldPosition instead of this loop
outermostEntity = container.Owner;
var finalPosition = Owner.Transform.Coordinates.Position;
var initialPosition = outermostEntity.Transform.MapPosition;
if (pickupDirection == initialPosition.Position)
if (finalPosition.EqualsApprox(initialPosition.Position))
return;
Owner.EntityManager.EntityNetManager!.SendSystemNetworkMessage(
new PickupAnimationMessage(entity.Uid, pickupDirection, initialPosition));
new PickupAnimationMessage(entity.Uid, finalPosition, initialPosition));
}
#region Pull/Disarm