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); } } } }