using System; namespace Unity.VisualScripting { public sealed class ControlConnection : UnitConnection, IUnitConnection { [Obsolete(Serialization.ConstructorWarning)] public ControlConnection() : base() { } public ControlConnection(ControlOutput source, ControlInput destination) : base(source, destination) { if (source.hasValidConnection) { throw new InvalidConnectionException("Control output ports do not support multiple connections."); } } #region Ports public override ControlOutput source => sourceUnit.controlOutputs[sourceKey]; public override ControlInput destination => destinationUnit.controlInputs[destinationKey]; IUnitOutputPort IConnection.source => source; IUnitInputPort IConnection.destination => destination; #endregion #region Dependencies public override bool sourceExists => sourceUnit.controlOutputs.Contains(sourceKey); public override bool destinationExists => destinationUnit.controlInputs.Contains(destinationKey); #endregion } }