A game about forced loneliness, made by TACStudios
1using System;
2
3namespace Unity.VisualScripting
4{
5 public sealed class ControlConnection : UnitConnection<ControlOutput, ControlInput>, IUnitConnection
6 {
7 [Obsolete(Serialization.ConstructorWarning)]
8 public ControlConnection() : base() { }
9
10 public ControlConnection(ControlOutput source, ControlInput destination) : base(source, destination)
11 {
12 if (source.hasValidConnection)
13 {
14 throw new InvalidConnectionException("Control output ports do not support multiple connections.");
15 }
16 }
17
18 #region Ports
19
20 public override ControlOutput source => sourceUnit.controlOutputs[sourceKey];
21
22 public override ControlInput destination => destinationUnit.controlInputs[destinationKey];
23
24 IUnitOutputPort IConnection<IUnitOutputPort, IUnitInputPort>.source => source;
25
26 IUnitInputPort IConnection<IUnitOutputPort, IUnitInputPort>.destination => destination;
27
28 #endregion
29
30 #region Dependencies
31
32 public override bool sourceExists => sourceUnit.controlOutputs.Contains(sourceKey);
33
34 public override bool destinationExists => destinationUnit.controlInputs.Contains(destinationKey);
35
36 #endregion
37 }
38}