public void AddOrUpdateDCSBIOSBinding(MultiPanelPZ70Knobs multiPanelPZ70Knob, List <DCSBIOSInput> dcsbiosInputs, string description, bool whenTurnedOn) { if (dcsbiosInputs.Count == 0) { RemoveMultiPanelKnobFromList(ControlListPZ70.DCSBIOS, multiPanelPZ70Knob, whenTurnedOn); SetIsDirty(); return; } //This must accept lists var found = false; foreach (var dcsBiosBinding in _dcsBiosBindings) { if (dcsBiosBinding.DialPosition == _pz70DialPosition && dcsBiosBinding.MultiPanelPZ70Knob == multiPanelPZ70Knob && dcsBiosBinding.WhenTurnedOn == whenTurnedOn) { dcsBiosBinding.DCSBIOSInputs = dcsbiosInputs; dcsBiosBinding.Description = description; found = true; break; } } if (!found) { var dcsBiosBinding = new DCSBIOSActionBindingPZ70(); dcsBiosBinding.MultiPanelPZ70Knob = multiPanelPZ70Knob; dcsBiosBinding.DialPosition = _pz70DialPosition; dcsBiosBinding.DCSBIOSInputs = dcsbiosInputs; dcsBiosBinding.WhenTurnedOn = whenTurnedOn; dcsBiosBinding.Description = description; _dcsBiosBindings.Add(dcsBiosBinding); } SetIsDirty(); }
public override void Consume(List <DCSBIOSInput> dcsBiosInputs) { if (_dcsbiosBindingPZ70 == null) { _dcsbiosBindingPZ70 = new DCSBIOSActionBindingPZ70(); } _dcsbiosBindingPZ70.DCSBIOSInputs = dcsBiosInputs; }
public override void ImportSettings(GenericPanelBinding genericPanelBinding) { ClearSettings(); BindingHash = genericPanelBinding.BindingHash; var settings = genericPanelBinding.Settings; SettingsLoading = true; foreach (var setting in settings) { if (!setting.StartsWith("#") && setting.Length > 2) { if (setting.StartsWith("MultiPanelKnob{")) { var knobBinding = new KeyBindingPZ70(); knobBinding.ImportSettings(setting); _knobBindings.Add(knobBinding); } else if (setting.StartsWith("MultiPanelOSPZ70")) { var osCommand = new OSCommandBindingPZ70(); osCommand.ImportSettings(setting); _osCommandBindings.Add(osCommand); } else if (setting.StartsWith("MultiPanelDCSBIOSControl{")) { var dcsBIOSBindingPZ70 = new DCSBIOSActionBindingPZ70(); dcsBIOSBindingPZ70.ImportSettings(setting); _dcsBiosBindings.Add(dcsBIOSBindingPZ70); } else if (setting.StartsWith("MultipanelBIPLink{")) { var bipLinkPZ70 = new BIPLinkPZ70(); bipLinkPZ70.ImportSettings(setting); _bipLinks.Add(bipLinkPZ70); } else if (setting.StartsWith("MultiPanelDCSBIOSControlLCD{")) { var dcsBIOSBindingLCDPZ70 = new DCSBIOSOutputBindingPZ70(); dcsBIOSBindingLCDPZ70.ImportSettings(setting); _dcsBiosLcdBindings.Add(dcsBIOSBindingLCDPZ70); } } } SettingsLoading = false; _knobBindings = KeyBindingPZ70.SetNegators(_knobBindings); SettingsApplied(); }