A game about forced loneliness, made by TACStudios
1using System; 2 3namespace Unity.VisualScripting 4{ 5 public sealed class ValueConnection : UnitConnection<ValueOutput, ValueInput>, IUnitConnection 6 { 7 public class DebugData : UnitConnectionDebugData 8 { 9 public object lastValue { get; set; } 10 11 public bool assignedLastValue { get; set; } 12 } 13 14 public override IGraphElementDebugData CreateDebugData() 15 { 16 return new DebugData(); 17 } 18 19 [Obsolete(Serialization.ConstructorWarning)] 20 public ValueConnection() : base() { } 21 22 public ValueConnection(ValueOutput source, ValueInput destination) : base(source, destination) 23 { 24 if (destination.hasValidConnection) 25 { 26 throw new InvalidConnectionException("Value input ports do not support multiple connections."); 27 } 28 29 if (!source.type.IsConvertibleTo(destination.type, false)) 30 { 31 throw new InvalidConnectionException($"Cannot convert from '{source.type}' to '{destination.type}'."); 32 } 33 } 34 35 #region Ports 36 37 public override ValueOutput source => sourceUnit.valueOutputs[sourceKey]; 38 39 public override ValueInput destination => destinationUnit.valueInputs[destinationKey]; 40 41 IUnitOutputPort IConnection<IUnitOutputPort, IUnitInputPort>.source => source; 42 43 IUnitInputPort IConnection<IUnitOutputPort, IUnitInputPort>.destination => destination; 44 45 #endregion 46 47 #region Dependencies 48 49 public override bool sourceExists => sourceUnit.valueOutputs.Contains(sourceKey); 50 51 public override bool destinationExists => destinationUnit.valueInputs.Contains(destinationKey); 52 53 #endregion 54 } 55}