Singularity/Library/PackageCache/com.unity.visualscripting@1.../Runtime/VisualScripting.Flow/Connections/ControlConnection.cs
2024-05-06 11:45:45 -07:00

39 lines
1.2 KiB
C#

using System;
namespace Unity.VisualScripting
{
public sealed class ControlConnection : UnitConnection<ControlOutput, ControlInput>, 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<IUnitOutputPort, IUnitInputPort>.source => source;
IUnitInputPort IConnection<IUnitOutputPort, IUnitInputPort>.destination => destination;
#endregion
#region Dependencies
public override bool sourceExists => sourceUnit.controlOutputs.Contains(sourceKey);
public override bool destinationExists => destinationUnit.controlInputs.Contains(destinationKey);
#endregion
}
}