// SPDX-FileCopyrightText: 2025 GoobBot // SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org> // // SPDX-License-Identifier: AGPL-3.0-or-later using Content.Shared.DeviceLinking; using Robust.Shared.Prototypes; namespace Content.Shared._Goobstation.Factory.Slots; /// /// Adds no item I/O, only enables signal ports. /// public sealed partial class AutomatedPorts : AutomationSlot { [DataField] public ProtoId[] Sinks = []; [DataField] public ProtoId[] Sources = []; public override void AddPorts() { base.AddPorts(); _device.EnsureSinkPorts(Owner, Sinks); _device.EnsureSourcePorts(Owner, Sources); } public override void RemovePorts() { base.RemovePorts(); foreach (var port in Sinks) { _device.RemoveSinkPort(Owner, port); } foreach (var port in Sources) { _device.RemoveSourcePort(Owner, port); } } }