internal override void ImportSettings(string settings) { if (string.IsNullOrEmpty(settings)) { throw new ArgumentException("Import string empty. (KeyBinding)"); } if (settings.StartsWith("FarmingPanelKey{")) { // FarmingPanelKey{1KNOB_ENGINE_LEFT}\o/OSKeyPress{[FiftyMilliSec,RCONTROL + RSHIFT + VK_R][FiftyMilliSec,RCONTROL + RSHIFT + VK_W]}\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); // FarmingPanelKey{1KNOB_ENGINE_LEFT} var param0 = parameters[0].Trim().Substring(16); // 1KNOB_ENGINE_LEFT} param0 = param0.Remove(param0.Length - 1, 1); // 1KNOB_ENGINE_LEFT WhenTurnedOn = (param0.Substring(0, 1) == "1"); param0 = param0.Substring(1); _farmingPanelKey = (FarmingPanelMKKeys)Enum.Parse(typeof(FarmingPanelMKKeys), param0); // OSKeyPress{[FiftyMilliSec,RCONTROL + RSHIFT + VK_R][FiftyMilliSec,RCONTROL + RSHIFT + VK_W]} OSKeyPress = new KeyPress(); OSKeyPress.ImportString(parameters[1]); } }
internal override void ImportSettings(string settings) { if (string.IsNullOrEmpty(settings)) { throw new ArgumentException("Import string empty. (WindowsBinding)"); } if (settings.StartsWith("FarmingPanelOS{")) { // FarmingPanelOS{1KNOB_ENGINE_LEFT}\o/OSCommand{FILE\o/ARGUMENTS\o/NAME}\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); // FarmingPanelOS{1KNOB_ENGINE_LEFT} var param0 = parameters[0].Replace("FarmingPanelOS{", string.Empty).Replace("}", string.Empty); // 1KNOB_ENGINE_LEFT WhenTurnedOn = param0.Substring(0, 1) == "1"; param0 = param0.Substring(1); _farmingPanelKey = (FarmingPanelMKKeys)Enum.Parse(typeof(FarmingPanelMKKeys), param0); // OSCommand{FILE\o/ARGUMENTS\o/NAME} OSCommandObject = new OSCommand(); OSCommandObject.ImportString(parameters[1]); } }
public FarmingPanelKey(int group, int mask, bool isOn, FarmingPanelMKKeys farmingPanelKey) { Group = group; Mask = mask; IsOn = isOn; FarmingPanelMKKey = farmingPanelKey; }
internal override void ImportSettings(string settings) { if (string.IsNullOrEmpty(settings)) { throw new ArgumentException("Import string empty. (DCSBIOSActionBindingFarmingPanel)"); } if (settings.StartsWith("FarmingPanelDCSBIOSControl{")) { // FarmingPanelDCSBIOSControl{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); // FarmingPanelDCSBIOSControl{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); _farmingPanelKeys = (FarmingPanelMKKeys)Enum.Parse(typeof(FarmingPanelMKKeys), stringArray[0]); Description = stringArray[1]; } else { param0 = param0.Substring(1); _farmingPanelKeys = (FarmingPanelMKKeys)Enum.Parse(typeof(FarmingPanelMKKeys), 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); } } } }
public override void ImportSettings(string settings) { if (string.IsNullOrEmpty(settings)) { throw new ArgumentException("Import string empty. (BIPLinkFarmingPanel)"); } if (settings.StartsWith("FarmingPanelBIPLink{")) { // FarmingPanelBIPLink{1KNOB_ENGINE_LEFT}\o/BIPLight{Position_1_4|GREEN|FourSec|f5fe6e63e0c05a20f519d4b9e46fab3e}\o/BIPLight{Position_1_4|GREEN|FourSec|f5fe6e63e0c05a20f519d4b9e46fab3e}\o/Description["Set Engines On"]\o/\\?\hid#vid_06a3&pid_0d67#9&231fd360&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} // 0 1 2 3 var parameters = settings.Split(new[] { SaitekConstants.SEPARATOR_SYMBOL }, StringSplitOptions.RemoveEmptyEntries); // FarmingPanelBIPLink{1KNOB_ENGINE_LEFT} var param0 = parameters[0].Replace("FarmingPanelBIPLink{", string.Empty).Replace("}", string.Empty).Trim(); // 1KNOB_ENGINE_LEFT WhenOnTurnedOn = param0.Substring(0, 1) == "1"; param0 = param0.Substring(1); _farmingPanelKey = (FarmingPanelMKKeys)Enum.Parse(typeof(FarmingPanelMKKeys), param0); for (int i = 0; i < parameters.Length; i++) { if (parameters[i].StartsWith("BIPLight")) { var tmpBipLight = new BIPLight(); _bipLights.Add(GetNewKeyValue(), tmpBipLight); tmpBipLight.ImportSettings(parameters[i]); } if (parameters[i].StartsWith("Description[")) { var tmp = parameters[i].Replace("Description[", string.Empty).Replace("]", string.Empty); _description = tmp; } } } }
public FarmingPanelOnOff(FarmingPanelMKKeys farmingPanelKey, bool buttonState) { _farmingPanelMKKey = farmingPanelKey; ButtonState = buttonState; }