1234567891011121314151617181920212223242526272829303132333435363738 |
- 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
- }
- }
|