private void RemoveAdditionalConnection(IPin sink) { if (sink as IPluginIO == null) { return; } DX11Node sinknode = this.graph.FindNode(sink.ParentNode); if (sinknode != null) { DX11VirtualConnection connection = sinknode.GetVirtualConnection(sink); if (connection != null) { sinknode.VirtualConnections.Remove(connection); } } }
private void CreateAdditionalConnection(IPin sink, IPin source) { if (sink as IPluginIO == null || source as IPluginIO == null) { return; } DX11Node sinknode = this.graph.FindNode(sink.ParentNode); DX11Node sourcenode = this.graph.FindNode(source.ParentNode); if (sinknode != null && sourcenode != null) { DX11VirtualConnection existing = sinknode.GetVirtualConnection(sink); if (existing != null) { sinknode.VirtualConnections.Remove(existing); } DX11VirtualConnection connection = new DX11VirtualConnection(sink, source, sourcenode); sinknode.VirtualConnections.Add(connection); } }