private void AddAudioSource(ConduitFlow.Conduit conduit, Vector3 camera_pos)
 {
     using (new KProfiler.Region("AddAudioSource", null))
     {
         UtilityNetwork network = flowManager.GetNetwork(conduit);
         if (network != null)
         {
             Vector3 vector = Grid.CellToPosCCC(conduit.GetCell(flowManager), Grid.SceneLayer.Building);
             float   num    = Vector3.SqrMagnitude(vector - camera_pos);
             bool    flag   = false;
             for (int i = 0; i < audioInfo.Count; i++)
             {
                 AudioInfo value = audioInfo[i];
                 if (value.networkID == network.id)
                 {
                     if (num < value.distance)
                     {
                         value.distance = num;
                         value.position = vector;
                         audioInfo[i]   = value;
                     }
                     flag = true;
                     break;
                 }
             }
             if (!flag)
             {
                 AudioInfo item = default(AudioInfo);
                 item.networkID = network.id;
                 item.position  = vector;
                 item.distance  = num;
                 item.blobCount = 0;
                 audioInfo.Add(item);
             }
         }
     }
 }