6
StarHorizon_Public/Content.Shared/_NF/Contraband/SharedContrabandTurnInSystem.cs
2025-12-13 13:46:17 +03:00

39 lines
1.0 KiB
C#

using Content.Shared.Contraband;
using Robust.Shared.Containers;
using Robust.Shared.Serialization;
namespace Content.Shared._NF.Contraband;
[NetSerializable, Serializable]
public enum ContrabandPalletConsoleUiKey : byte
{
Contraband
}
public abstract class SharedContrabandTurnInSystem : EntitySystem
{
public void ClearContrabandValue(EntityUid item)
{
// Clear contraband value for printed items
if (TryComp<ContrabandComponent>(item, out var contraband))
{
foreach (var valueKey in contraband.TurnInValues.Keys)
{
contraband.TurnInValues[valueKey] = 0;
}
}
// Recurse into contained entities
if (TryComp<ContainerManagerComponent>(item, out var containers))
{
foreach (var container in containers.Containers.Values)
{
foreach (var ent in container.ContainedEntities)
{
ClearContrabandValue(ent);
}
}
}
}
}