Exemplo n.º 1
0
        public void AddOrUpdateDCSBIOSBinding(RadioPanelPZ69KnobsEmulator knob, List <DCSBIOSInput> dcsbiosInputs, string description, bool whenTurnedOn)
        {
            if (dcsbiosInputs.Count == 0)
            {
                RemoveRadioPanelKnobFromList(ControlListPZ69.DCSBIOS, knob, whenTurnedOn);
                IsDirtyMethod();
                return;
            }
            //This must accept lists
            var found            = false;
            var pz69DialPosition = GetDial(knob);

            foreach (var dcsBiosBinding in _dcsBiosBindings)
            {
                if (dcsBiosBinding.DialPosition == pz69DialPosition && dcsBiosBinding.RadioPanelPZ69Knob == knob && dcsBiosBinding.WhenTurnedOn == whenTurnedOn)
                {
                    dcsBiosBinding.DCSBIOSInputs = dcsbiosInputs;
                    dcsBiosBinding.WhenTurnedOn  = whenTurnedOn;
                    dcsBiosBinding.Description   = description;
                    found = true;
                    break;
                }
            }
            if (!found)
            {
                var dcsBiosBinding = new DCSBIOSBindingPZ69();
                dcsBiosBinding.RadioPanelPZ69Knob = knob;
                dcsBiosBinding.DialPosition       = pz69DialPosition;
                dcsBiosBinding.DCSBIOSInputs      = dcsbiosInputs;
                dcsBiosBinding.WhenTurnedOn       = whenTurnedOn;
                dcsBiosBinding.Description        = description;
                _dcsBiosBindings.Add(dcsBiosBinding);
            }
            IsDirtyMethod();
        }
Exemplo n.º 2
0
 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("RadioPanelKeyDialPos{"))
             {
                 var keyBinding = new KeyBindingPZ69DialPosition();
                 keyBinding.ImportSettings(setting);
                 _keyBindings.Add(keyBinding);
             }
             else if (setting.StartsWith("PZ69DisplayValue{"))
             {
                 var radioPanelPZ69DisplayValue = new RadioPanelPZ69DisplayValue();
                 radioPanelPZ69DisplayValue.ImportSettings(setting);
                 _displayValues.Add(radioPanelPZ69DisplayValue);
             }
             else if (setting.StartsWith("RadioPanelBIPLink{"))
             {
                 var bipLinkPZ69 = new BIPLinkPZ69();
                 bipLinkPZ69.ImportSettings(setting);
                 _bipLinks.Add(bipLinkPZ69);
             }
             else if (setting.StartsWith("RadioPanelDCSBIOSLCD{"))
             {
                 var dcsbiosBindingLCDPZ69 = new DCSBIOSBindingLCDPZ69();
                 dcsbiosBindingLCDPZ69.ImportSettings(setting);
                 _dcsBiosLcdBindings.Add(dcsbiosBindingLCDPZ69);
             }
             else if (setting.StartsWith("RadioPanelDCSBIOSControl{"))
             {
                 var dcsbiosBindingPZ69 = new DCSBIOSBindingPZ69();
                 dcsbiosBindingPZ69.ImportSettings(setting);
                 _dcsBiosBindings.Add(dcsbiosBindingPZ69);
             }
         }
     }
     OnSettingsApplied();
 }