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); } } }
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(); }