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 { [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; } } }