private static void refreshFriendsList(ListViewController leftViewController) { friends = SteamAPI.GetOnlineFriends(); leftViewController.Data.Clear(); CGameID gameId = SteamAPI.GetGameID(); foreach (KeyValuePair <CSteamID, string[]> entry in friends) { if ("" + gameId != entry.Value[1] || entry.Value[1] == "0") { continue; } Logger.Debug($"{entry.Value[0]} playing Beat Saber"); leftViewController.Data.Add(new CustomCellInfo(entry.Value[0], "Playing Beat Saber")); } foreach (KeyValuePair <CSteamID, string[]> entry in friends) { if ("" + gameId == entry.Value[1] || entry.Value[1] == "0") { continue; } Logger.Debug($"{entry.Value[0]} playing Other Game"); leftViewController.Data.Add(new CustomCellInfo(entry.Value[0], "Playing Other Game")); } foreach (KeyValuePair <CSteamID, string[]> entry in friends) { if ("0" != entry.Value[1]) { continue; } Logger.Debug($"{entry.Value[0]} online"); leftViewController.Data.Add(new CustomCellInfo(entry.Value[0], "Online")); } leftViewController._customListTableView.ReloadData(); leftViewController._customListTableView.ScrollToCellWithIdx(0, TableView.ScrollPositionType.Beginning, false); leftViewController.DidSelectRowEvent = (view, row) => { invite.interactable = false; CustomCellInfo cell = leftViewController.Data[row]; KeyValuePair <CSteamID, string[]> friend = friends.Where(entry => entry.Value[0] == cell.text).First(); selectedPlayer = friend.Key.m_SteamID; invite.interactable = true; }; }