public void RemoveConnection(OutputPipe pipe) { if (!connectedPipes.Contains(pipe)) { return; } pipe.ConnectTo(null); connectedPipes.Remove(pipe); parent.UpdatePipes(); }
public void ConnectTo(PipeSocket newSocket) { if ((newSocket == null || newSocket.parent != source) && connectedTo != newSocket) { PipeSocket oldConnection = connectedTo; connectedTo = newSocket; if (oldConnection != null) { oldConnection.RemoveConnection(this); } if (newSocket != null) { if (!newSocket.AddConnection(this)) { connectedTo = null; ShowDisconnected(); } } else { ShowDisconnected(); } source.UpdatePipes(); } }