internal override void ImportSettings(string settings) { if (string.IsNullOrEmpty(settings)) { throw new ArgumentException("Import string empty. (DCSBIOSBindingPZ70)"); } if (settings.StartsWith("MultiPanelDCSBIOSControl{")) { // MultiPanelDCSBIOSControl{HDG}\\o/{1LCD_WHEEL_DEC|DCS-BIOS}\\o/\\o/DCSBIOSInput{AAP_CDUPWR|SET_STATE|1|0}\\o/\\\\?\\hid#vid_06a3&pid_0d06#9&244b4bcc&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\\o/PanelSettingsVersion=2X" var parameters = settings.Split(new[] { SaitekConstants.SEPARATOR_SYMBOL }, StringSplitOptions.RemoveEmptyEntries); // MultiPanelDCSBIOSControl{ALT} var param0 = parameters[0].Replace("MultiPanelDCSBIOSControl{", string.Empty).Replace("}", string.Empty); _pz70DialPosition = (PZ70DialPosition)Enum.Parse(typeof(PZ70DialPosition), param0); // {1KNOB_ALT} // or // {1KNOB_ALT|Landing gear up and blablabla description} var param1 = parameters[1].Replace("{", string.Empty).Replace("}", string.Empty); // 1KNOB_ALT // or // 1KNOB_ALT|Landing gear up and blablabla description WhenTurnedOn = (param1.Substring(0, 1) == "1"); if (param1.Contains("|")) { // 1KNOB_ALT|Landing gear up and blablabla description param1 = param1.Substring(1); // KNOB_ALT|Landing gear up and blablabla description var stringArray = param1.Split(new[] { "|" }, StringSplitOptions.RemoveEmptyEntries); _multiPanelPZ70Knob = (MultiPanelPZ70Knobs)Enum.Parse(typeof(MultiPanelPZ70Knobs), stringArray[0]); Description = stringArray[1]; } else { param1 = param1.Substring(1); _multiPanelPZ70Knob = (MultiPanelPZ70Knobs)Enum.Parse(typeof(MultiPanelPZ70Knobs), param1); } // The rest of the array besides last entry are DCSBIOSInput // DCSBIOSInput{AAP_EGIPWR|FIXED_STEP|INC} DCSBIOSInputs = new List <DCSBIOSInput>(); for (var i = 0; i < parameters.Length; i++) { if (parameters[i].StartsWith("DCSBIOSInput{")) { var dcsbiosInput = new DCSBIOSInput(); dcsbiosInput.ImportString(parameters[i]); DCSBIOSInputs.Add(dcsbiosInput); } } } }
internal override void ImportSettings(string settings) { if (string.IsNullOrEmpty(settings)) { throw new ArgumentException("Import string empty. (DCSBIOSBindingPZ55)"); } if (settings.StartsWith("SwitchPanelDCSBIOSControl{")) { // SwitchPanelDCSBIOSControl{1KNOB_ENGINE_OFF}\o/DCSBIOSInput{AAP_STEER|SET_STATE|2}\o/DCSBIOSInput{BAT_PWR|INC|2}\o/\\?\hid#vid_06a3&pid_0d67#9&231fd360&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} var parameters = settings.Split(new[] { SaitekConstants.SEPARATOR_SYMBOL }, StringSplitOptions.RemoveEmptyEntries); // SwitchPanelDCSBIOSControl{1KNOB_ENGINE_LEFT} var param0 = parameters[0].Substring(parameters[0].IndexOf("{", StringComparison.InvariantCulture) + 1); // 1KNOB_ENGINE_LEFT} param0 = param0.Remove(param0.Length - 1, 1); // 1KNOB_ENGINE_LEFT WhenOnTurnedOn = (param0.Substring(0, 1) == "1"); if (param0.Contains("|")) { // 1KNOB_ALT|Landing gear up and blablabla description param0 = param0.Substring(1); // KNOB_ALT|Landing gear up and blablabla description var stringArray = param0.Split(new[] { "|" }, StringSplitOptions.RemoveEmptyEntries); _switchPanelPZ55Key = (SwitchPanelPZ55Keys)Enum.Parse(typeof(SwitchPanelPZ55Keys), stringArray[0]); Description = stringArray[1]; } else { param0 = param0.Substring(1); _switchPanelPZ55Key = (SwitchPanelPZ55Keys)Enum.Parse(typeof(SwitchPanelPZ55Keys), param0); } // The rest of the array besides last entry are DCSBIOSInput // DCSBIOSInput{AAP_EGIPWR|FIXED_STEP|INC} DCSBIOSInputs = new List <DCSBIOSInput>(); for (var i = 0; i < parameters.Length; i++) { if (parameters[i].StartsWith("DCSBIOSInput{")) { var dcsbiosInput = new DCSBIOSInput(); dcsbiosInput.ImportString(parameters[i]); DCSBIOSInputs.Add(dcsbiosInput); } } } }
internal void ImportSettings(string settings) { if (string.IsNullOrEmpty(settings)) { throw new ArgumentException("Import string empty. (DCSBIOSBindingPZ70)"); } if (settings.StartsWith("MultiPanelDCSBIOSControl{")) { //MultiPanelDCSBIOSControl{1KNOB_ALT}\o/DCSBIOSInput{AAP_STEER|SET_STATE|2}\o/\\?\hid#vid_06a3&pid_0d67#9&231fd360&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} var parameters = settings.Split(new[] { SeparatorChars }, StringSplitOptions.RemoveEmptyEntries); //MultiPanelDCSBIOSControl{1KNOB_ALT} //or //MultiPanelDCSBIOSControl{1KNOB_ALT|Landing gear up and blablabla description} var param0 = parameters[0].Substring(parameters[0].IndexOf("{", StringComparison.InvariantCulture) + 1); //1KNOB_ALT} param0 = param0.Remove(param0.Length - 1, 1); //1KNOB_ALT //or //1KNOB_ALT|Landing gear up and blablabla description _whenOnTurnedOn = (param0.Substring(0, 1) == "1"); if (param0.Contains("|")) { //1KNOB_ALT|Landing gear up and blablabla description param0 = param0.Substring(1); //KNOB_ALT|Landing gear up and blablabla description var stringArray = param0.Split(new[] { "|" }, StringSplitOptions.RemoveEmptyEntries); _multiPanelPZ70Knob = (MultiPanelPZ70Knobs)Enum.Parse(typeof(MultiPanelPZ70Knobs), stringArray[0]); _description = stringArray[1]; } else { param0 = param0.Substring(1); _multiPanelPZ70Knob = (MultiPanelPZ70Knobs)Enum.Parse(typeof(MultiPanelPZ70Knobs), 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); } } }
internal override void ImportSettings(string settings) { if (string.IsNullOrEmpty(settings)) { throw new ArgumentException("Import string empty. (DCSBIOSBindingPZ69)"); } if (settings.StartsWith("RadioPanelDCSBIOSControl{")) { //RadioPanelDCSBIOSControl{COM1}\\o/{1UpperSmallFreqWheelInc|DCS-BIOS}\\o/\\o/DCSBIOSInput{AAP_CDUPWR|SET_STATE|1|0}\\o/\\\\?\\hid#vid_06a3&pid_0d06#9&244b4bcc&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\\o/PanelSettingsVersion=2X" var parameters = settings.Split(new[] { SaitekConstants.SEPARATOR_SYMBOL }, StringSplitOptions.RemoveEmptyEntries); //RadioPanelDCSBIOSControl{COM1} var param0 = parameters[0].Replace("RadioPanelDCSBIOSControl{", "").Replace("}", ""); _pz69DialPosition = (PZ69DialPosition)Enum.Parse(typeof(PZ69DialPosition), param0); var param1 = parameters[1].Replace("{", "").Replace("}", ""); WhenTurnedOn = (param1.Substring(0, 1) == "1"); if (param1.Contains("|")) { param1 = param1.Substring(1); var stringArray = param1.Split(new[] { "|" }, StringSplitOptions.RemoveEmptyEntries); _panelPZ69Knob = (RadioPanelPZ69KnobsEmulator)Enum.Parse(typeof(RadioPanelPZ69KnobsEmulator), stringArray[0]); Description = stringArray[1]; } else { param1 = param1.Substring(1); _panelPZ69Knob = (RadioPanelPZ69KnobsEmulator)Enum.Parse(typeof(RadioPanelPZ69KnobsEmulator), param1); } //The rest of the array besides last entry are DCSBIOSInput //DCSBIOSInput{AAP_EGIPWR|FIXED_STEP|INC} DCSBIOSInputs = new List <DCSBIOSInput>(); for (var i = 2; i < parameters.Length - 1; i++) { if (parameters[i].StartsWith("DCSBIOSInput{")) { var dcsbiosInput = new DCSBIOSInput(); dcsbiosInput.ImportString(parameters[i]); DCSBIOSInputs.Add(dcsbiosInput); } } } }
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); } } }