public static void ConnectComponents(LogicComponent input, LogicGate output, int outputPort, Layer puzzleLayer, List <GridPosition> positionsHorizontal, List <GridPosition> positionsVertical) { var line = new Line(output, outputPort); line.AddGridPositions(puzzleLayer, positionsHorizontal, positionsVertical); input.lines.Add(line); }