IEnumerator inform_players() { int send_rate = 2; byte[] data; Message_package msg; while (true) { try { msg = new Message_package(); msg.type = Custom_msg_type.SEND_PARTY_LIST; msg.message = pm.get_parties().GroupBy(l => l.FirstOrDefault()).Select(g => g.First()).ToList(); data = format_data(msg); pm.inform_lobby_players(forward(large_data_channel, host, data)); } catch (NullReferenceException e) { print($"null ref in party search: {e}"); } finally { } yield return(new WaitForSeconds(send_rate)); } }