using Enigmos.Cables; using Enigmos.Modules.ControllingModules; using Nocturnis.Enigmos.Modules; using Nocturnis.Enigmos.Ports; namespace Enigmos.Ports.SignalPorts; public partial class SignalOutPort : SignalPort, ISignalOutPort { public new IControllingModule Module { get => (base.Module as ControllingModule)!; set => base.Module = value; } public new ISignalInPort? ConnectedPort { get => base.ConnectedPort as SignalInPort; set => base.ConnectedPort = value; } public override bool IsMatch(IBasePort other) => other is SignalInPort; public override BaseCable MakeCable(IBasePort other) { BaseCable res = base.MakeCable(other); res.PortFrom = other; res.PortTo = this; return res; } }