public SurveillanceCameraSetupWindow() { RobustXamlLoader.Load(this); IoCManager.InjectDependencies(this); NetworkConfirm.OnPressed += _ => OnNetworkConfirm !(NetworkSelector.SelectedId); NameConfirm.OnPressed += _ => OnNameConfirm !(DeviceName.Text); NetworkSelector.OnItemSelected += args => NetworkSelector.SelectId(args.Id); }
// Pass in a list of frequency prototype IDs. public void LoadAvailableNetworks(uint currentNetwork, List <string> networks) { NetworkSelector.Clear(); if (networks.Count == 0) { NetworkSection.Visible = false; return; } var id = 0; var idList = new List <(int id, string networkName)>(); foreach (var network in networks) { idList.Add((id, network)); id++; } idList.Sort((a, b) => a.networkName.CompareTo(b.networkName)); foreach (var(networkId, network) in idList) { if (!_prototypeManager.TryIndex(network, out DeviceFrequencyPrototype? frequency) || frequency.Name == null) { continue; } NetworkSelector.AddItem(Loc.GetString(frequency.Name), networkId); if (frequency.Frequency == currentNetwork) { NetworkSelector.SelectId(networkId); } id++; } }