Exemplo n.º 1
0
        internal void ImportSettings(string settings)
        {
            if (string.IsNullOrEmpty(settings))
            {
                throw new ArgumentException("Import string empty. (DCSBIOSBindingFIP)");
            }
            if (settings.StartsWith("FIPPanelDCSBIOSControl{"))
            {
                //FIPPanelDCSBIOSControl{1SOFTBUTTON_1}\o/DCSBIOSInput{AAP_STEER|SET_STATE|2}\o/DCSBIOSInput{BAT_PWR|INC|2}
                var parameters = settings.Split(new[] { SeparatorChars }, StringSplitOptions.RemoveEmptyEntries);

                //FIPPanelDCSBIOSControl{1SOFTBUTTON_1}
                var param0 = parameters[0].Substring(parameters[0].IndexOf("{", StringComparison.InvariantCulture) + 1);
                //1SOFTBUTTON_1}
                param0 = param0.Remove(param0.Length - 1, 1);
                //1SOFTBUTTON_1
                _whenOnTurnedOn = (param0.Substring(0, 1) == "1");
                if (param0.Contains("|"))
                {
                    //1SOFTBUTTON_1|Landing gear up and blablabla description
                    param0 = param0.Substring(1);
                    //SOFTBUTTON_1|Landing gear up and blablabla description
                    var stringArray = param0.Split(new[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
                    _fipPanelButton = (FIPPanelButtons)Enum.Parse(typeof(FIPPanelButtons), stringArray[0]);
                    _description    = stringArray[1];
                }
                else
                {
                    param0          = param0.Substring(1);
                    _fipPanelButton = (FIPPanelButtons)Enum.Parse(typeof(FIPPanelButtons), param0);
                }
                //The rest of the array besides last entry are DCSBIOSInput
                //DCSBIOSInput{AAP_EGIPWR|FIXED_STEP|INC}
                _dcsbiosInputs = new List <DCSBIOSInput>();
                for (int i = 1; i < parameters.Length - 1; i++)
                {
                    var dcsbiosInput = new DCSBIOSInput();
                    dcsbiosInput.ImportString(parameters[i]);
                    _dcsbiosInputs.Add(dcsbiosInput);
                }
            }
        }
Exemplo n.º 2
0
 public void ClearAllBindings(FIPPanelButtons fipPanelButton)
 {
     //This must accept lists
     foreach (var keyBinding in _keyBindings)
     {
         if (keyBinding.FIPButton == fipPanelButton)
         {
             keyBinding.OSKeyPress = null;
         }
     }
     foreach (var dcsBiosBinding in _dcsBiosBindings)
     {
         if (dcsBiosBinding.FIPButton == fipPanelButton)
         {
             dcsBiosBinding.DCSBIOSInputs.Clear();
         }
     }
     Common.DebugP("FIPPanel _keyBindings : " + _keyBindings.Count);
     Common.DebugP("FIPPanel _dcsBiosBindings : " + _dcsBiosBindings.Count);
     IsDirtyMethod();
 }