private void UpdateList() { _clientList.Clear(); foreach (var srClient in ConnectedClientsSingleton.Instance.Values) { var client = new ClientListModel() { Name = srClient.Name, Coalition = srClient.Coalition }; if (srClient.GameState.radios.Length >= 3) { client.Channel = srClient.GameState.radios[1].Channel + ""; if (srClient.GameState.radios[2] != null && srClient.GameState.radios[2].modulation == RadioInformation.Modulation.AM) { client.Channel += ("-" + srClient.GameState.radios[2].Channel); } } else { client.Channel = srClient.GameState.radios[1].Channel + ""; } _clientList.Add(client); } }
private void UpdateList() { _clientList.Clear(); //first create temporary list to sort var tempList = new List <ClientListModel>(); foreach (var srClient in ConnectedClientsSingleton.Instance.Values) { var client = new ClientListModel() { Name = srClient.Name, Coalition = srClient.Coalition }; if (srClient.GameState.radios.Length >= 3) { client.Channel = srClient.GameState.radios[1].Channel + ""; if (srClient.GameState.radios[2] != null && srClient.GameState.radios[2].modulation == RadioInformation.Modulation.AM) { client.Channel += ("-" + srClient.GameState.radios[2].Channel); } } else { client.Channel = srClient.GameState.radios[1].Channel + ""; } tempList.Add(client); } foreach (var clientListModel in tempList.OrderByDescending(model => model.Coalition) .ThenBy(model => model.Name.ToLower()).ToList()) { _clientList.Add(clientListModel); } }