| 12345678910111213141516171819202122232425262728293031 |
- using Content.Shared.Storage;
- using Content.Shared.Storage.Components;
- using Content.Shared.Storage.EntitySystems;
- using Content.Shared.Whitelist;
- using JetBrains.Annotations;
- using Robust.Shared.Containers;
- namespace Content.Server.Storage.EntitySystems
- {
- [UsedImplicitly]
- public sealed class ItemCounterSystem : SharedItemCounterSystem
- {
- [Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!;
- protected override int? GetCount(ContainerModifiedMessage msg, ItemCounterComponent itemCounter)
- {
- if (!EntityManager.TryGetComponent(msg.Container.Owner, out StorageComponent? component))
- {
- return null;
- }
- var count = 0;
- foreach (var entity in component.Container.ContainedEntities)
- {
- if (_whitelistSystem.IsWhitelistPass(itemCounter.Count, entity))
- count++;
- }
- return count;
- }
- }
- }
|