UnityGame/Library/PackageCache/com.unity.visualscripting/Runtime/VisualScripting.Flow/Connections/ControlConnection.cs

39 lines
1.2 KiB
C#
Raw Normal View History

2024-10-27 10:53:47 +03:00
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
}
}