public void AddOrUpdateDCSBIOSBinding(SwitchPanelPZ55Keys switchPanelPZ55Key, List <DCSBIOSInput> dcsbiosInputs, string description, bool whenTurnedOn = true) { //!!!!!!! //If all DCS-BIOS commands has been deleted then provide a empty list, not null object!!! //This must accept lists var found = false; RemoveSwitchPanelKeyFromList(1, switchPanelPZ55Key, whenTurnedOn); foreach (var dcsBiosBinding in _dcsBiosBindings) { if (dcsBiosBinding.SwitchPanelPZ55Key == switchPanelPZ55Key && dcsBiosBinding.WhenTurnedOn == whenTurnedOn) { dcsBiosBinding.DCSBIOSInputs = dcsbiosInputs; dcsBiosBinding.WhenTurnedOn = whenTurnedOn; dcsBiosBinding.Description = description; found = true; break; } } if (!found) { var dcsBiosBinding = new DCSBIOSBindingPZ55(); dcsBiosBinding.SwitchPanelPZ55Key = switchPanelPZ55Key; dcsBiosBinding.DCSBIOSInputs = dcsbiosInputs; dcsBiosBinding.WhenTurnedOn = whenTurnedOn; dcsBiosBinding.Description = description; _dcsBiosBindings.Add(dcsBiosBinding); } IsDirtyMethod(); }
public override void ImportSettings(List <string> settings) { //Clear current bindings ClearSettings(); if (settings == null || settings.Count == 0) { return; } foreach (var setting in settings) { if (!setting.StartsWith("#") && setting.Length > 2 && setting.Contains(InstanceId)) { if (setting.StartsWith("SwitchPanelKey{")) { var keyBinding = new KeyBindingPZ55(); keyBinding.ImportSettings(setting); _keyBindings.Add(keyBinding); } else if (setting.StartsWith("SwitchPanelOSPZ55")) { var osCommand = new OSCommandBindingPZ55(); osCommand.ImportSettings(setting); _osCommandBindings.Add(osCommand); } else if (setting.StartsWith("SwitchPanelLed")) { var colorOutput = new DcsOutputAndColorBindingPZ55(); colorOutput.ImportSettings(setting); _listColorOutputBinding.Add(colorOutput); } else if (setting.StartsWith("SwitchPanelDCSBIOSControl{")) { var dcsBIOSBindingPZ55 = new DCSBIOSBindingPZ55(); dcsBIOSBindingPZ55.ImportSettings(setting); _dcsBiosBindings.Add(dcsBIOSBindingPZ55); } else if (setting.StartsWith("SwitchPanelBIPLink{")) { var bipLinkPZ55 = new BIPLinkPZ55(); bipLinkPZ55.ImportSettings(setting); _bipLinks.Add(bipLinkPZ55); } else if (setting.StartsWith("ManualLandingGearLEDs{")) { _manualLandingGearLeds = setting.Contains("True"); } } } OnSettingsApplied(); _keyBindings = KeyBindingPZ55.SetNegators(_keyBindings); }