using Content.Shared.Lock; using Content.Shared.Radio.Components; using Content.Shared.Radio.EntitySystems; namespace Content.Server.Silicon.EncryptionHolderRequiresLock; public sealed class EncryptionHolderRequiresLockSystem : EntitySystem { [Dependency] private readonly EncryptionKeySystem _encryptionKeySystem = default!; /// public override void Initialize() { base.Initialize(); SubscribeLocalEvent(LockToggled); } private void LockToggled(EntityUid uid, EncryptionHolderRequiresLockComponent component, LockToggledEvent args) { if (!TryComp(uid, out var lockComp) || !TryComp(uid, out var keyHolder)) return; keyHolder.KeysUnlocked = !lockComp.Locked; _encryptionKeySystem.UpdateChannels(uid, keyHolder); } }