using Content.Client.Animations;
using Content.Shared.DragDrop;
using Content.Shared.Storage;
namespace Content.Client.Storage
{
///
/// Client version of item storage containers, contains a UI which displays stored entities and their size
///
[RegisterComponent]
public sealed class ClientStorageComponent : SharedStorageComponent, IDraggable
{
[Dependency] private readonly IEntityManager _entityManager = default!;
private List _storedEntities = new();
public override IReadOnlyList StoredEntities => _storedEntities;
///
/// Animate the newly stored entities in flying towards this storage's position
///
///
public void HandleAnimatingInsertingEntities(AnimateInsertingEntitiesEvent msg)
{
for (var i = 0; msg.StoredEntities.Count > i; i++)
{
var entity = msg.StoredEntities[i];
var initialPosition = msg.EntityPositions[i];
if (_entityManager.EntityExists(entity))
{
ReusableAnimations.AnimateEntityPickup(entity, initialPosition, _entityManager.GetComponent(Owner).LocalPosition, _entityManager);
}
}
}
public override bool Remove(EntityUid entity)
{
return false;
}
}
}