using System.Collections.Generic; using System.Linq; namespace Unity.VisualScripting { public sealed class InvalidInput : UnitPort, IUnitInvalidPort, IUnitInputPort { public InvalidInput(string key) : base(key) { } public override IEnumerable validConnections => unit?.graph?.invalidConnections.WithDestination(this) ?? Enumerable.Empty(); public override IEnumerable invalidConnections => Enumerable.Empty(); public override IEnumerable validConnectedPorts => validConnections.Select(c => c.source); public override IEnumerable invalidConnectedPorts => invalidConnections.Select(c => c.source); public override bool CanConnectToValid(IUnitOutputPort port) { return false; } public override void ConnectToValid(IUnitOutputPort port) { ConnectInvalid(port, this); } public override void ConnectToInvalid(IUnitOutputPort port) { ConnectInvalid(port, this); } public override void DisconnectFromValid(IUnitOutputPort port) { DisconnectInvalid(port, this); } public override void DisconnectFromInvalid(IUnitOutputPort port) { DisconnectInvalid(port, this); } public override IUnitPort CompatiblePort(IUnit unit) { return null; } } }