public static void LoadMetaDataEnd(string jsonDirectory) { if (DCSBIOSProfileLoadStatus.IsLoaded("MetadataEnd") || Common.IsOperationModeFlagSet(OperationFlag.KeyboardEmulationOnly) || _airframe == DCSAirframe.NOFRAMELOADEDYET) { return; } try { lock (LockObject) { var metaDataEndText = File.ReadAllText(jsonDirectory + "\\MetadataEnd.json"); var metaDataEndControlsText = DCSBIOSJsonFormatterVersion1.Format(metaDataEndText); var metaDataEndControls = JsonConvert.DeserializeObject <DCSBIOSControlRootObject>(metaDataEndControlsText); _dcsbiosControls.AddRange(metaDataEndControls.DCSBIOSControls); DCSBIOSProfileLoadStatus.SetLoaded("MetadataEnd", true); } } catch (Exception ex) { throw new Exception("Error loading DCS-BIOS. Check that the DCS-BIOS location setting points to the JSON directory. " + Environment.NewLine + ex.Message + Environment.NewLine + ex.StackTrace); } }
public static void LoadCommonData(string jsonDirectory) { if (DCSBIOSProfileLoadStatus.IsLoaded("CommonData") || Common.IsOperationModeFlagSet(OperationFlag.KeyboardEmulationOnly) || _airframe == DCSAirframe.NOFRAMELOADEDYET) { return; } try { lock (LockObject) { var commonDataText = File.ReadAllText(jsonDirectory + "\\CommonData.json"); var commonDataControlsText = DCSBIOSJsonFormatterVersion1.Format(commonDataText); var commonDataControls = JsonConvert.DeserializeObject <DCSBIOSControlRootObject>(commonDataControlsText); _dcsbiosControls.AddRange(commonDataControls.DCSBIOSControls); DCSBIOSProfileLoadStatus.SetLoaded("CommonData", true); } } catch (Exception ex) { throw new Exception(DCSBIOSNotFoundErrorMessage + " ==>[" + jsonDirectory + "]<==" + Environment.NewLine + ex.Message + Environment.NewLine + ex.StackTrace); } }
public static void LoadControls(string jsonDirectory, string profile) { if (DCSBIOSProfileLoadStatus.IsLoaded(profile) || profile == DCSAirframe.KEYEMULATOR.GetDescription() || profile == DCSAirframe.KEYEMULATOR_SRS.GetDescription() || profile == DCSAirframe.NOFRAMELOADEDYET.GetDescription()) { return; } try { lock (LockObject) { var directoryInfo = new DirectoryInfo(jsonDirectory); IEnumerable <FileInfo> files; Common.DebugP("Searching for " + profile + ".json in directory " + jsonDirectory); try { files = directoryInfo.EnumerateFiles(profile + ".json", SearchOption.TopDirectoryOnly); } catch (Exception ex) { throw new Exception("Failed to find DCS-BIOS files. -> " + Environment.NewLine + ex.Message); } foreach (var file in files) { Common.DebugP("Opening " + file.DirectoryName + "\\" + file.Name); var reader = file.OpenText(); string text; try { text = reader.ReadToEnd(); //Debug.Print(text); } finally { reader.Close(); } var jsonData = DCSBIOSJsonFormatterVersion1.Format(text); //Console.WriteLine(jsonData); /*var newfile = File.CreateText(@"e:\temp\regexp_debug_output.txt.txt"); * newfile.Write(jsonData); * newfile.Close();*/ var dcsBiosControlList = JsonConvert.DeserializeObject <DCSBIOSControlRootObject>(jsonData); /*foreach (var control in dcsBiosControlList.DCSBIOSControls) * { * Debug.Print(control.identifier); * }*/ //Debug.Print("\n--------------------------\n" + jsonData); _dcsbiosControls.AddRange(dcsBiosControlList.DCSBIOSControls); PrintDuplicateControlIdentifiers(dcsBiosControlList.DCSBIOSControls); /*foreach (var control in _dcsbiosControls) * { * Debug.Print(control.identifier); * }*/ } DCSBIOSProfileLoadStatus.SetLoaded(profile, true); } } catch (Exception ex) { throw new Exception(DCSBIOSNotFoundErrorMessage + " ==>[" + jsonDirectory + "]<==" + Environment.NewLine + ex.Message + Environment.NewLine + ex.StackTrace); } }
public static void LoadControls() { if (_airframe == DCSAirframe.NONE || _airframe == DCSAirframe.NOFRAMELOADEDYET) { return; } if (_dcsbiosControls.Count > 0 && !_airFrameChanged) { return; } _dcsbiosControls = new List <DCSBIOSControl>(); try { lock (_lockObject) { //Always read CommonData.json var directoryInfo = new DirectoryInfo(_jsonDirectory); IEnumerable <FileInfo> files; try { DBCommon.DebugP("Searching for " + _airframe.GetDescription() + ".json in directory " + _jsonDirectory); try { files = directoryInfo.EnumerateFiles(_airframe.GetDescription() + ".json", SearchOption.TopDirectoryOnly); } catch (Exception ex) { throw new Exception("Failed to find DCS-BIOS files. -> " + Environment.NewLine + ex.Message); } foreach (var file in files) { DBCommon.DebugP("Opening " + file.DirectoryName + "\\" + file.Name); var reader = file.OpenText(); string text; try { text = reader.ReadToEnd(); } finally { reader.Close(); } var jsonData = DCSBIOSJsonFormatterVersion1.Format(text); /*var newfile = File.CreateText(@"e:\temp\regexp_debug_output.txt.txt"); * newfile.Write(jsonData); * newfile.Close();*/ var dcsBiosControlList = JsonConvert.DeserializeObject <DCSBIOSControlRootObject>(jsonData); _dcsbiosControls.AddRange(dcsBiosControlList.DCSBIOSControls); } var commonDataText = File.ReadAllText(_jsonDirectory + "\\CommonData.json"); var commonDataControlsText = DCSBIOSJsonFormatterVersion1.Format(commonDataText); var commonDataControls = JsonConvert.DeserializeObject <DCSBIOSControlRootObject>(commonDataControlsText); _dcsbiosControls.AddRange(commonDataControls.DCSBIOSControls); var metaDataEndText = File.ReadAllText(_jsonDirectory + "\\MetadataEnd.json"); var metaDataEndControlsText = DCSBIOSJsonFormatterVersion1.Format(metaDataEndText); var metaDataEndControls = JsonConvert.DeserializeObject <DCSBIOSControlRootObject>(metaDataEndControlsText); _dcsbiosControls.AddRange(metaDataEndControls.DCSBIOSControls); _airFrameChanged = false; } finally { //nada } } } catch (Exception ex) { throw new Exception("LoadControls() : " + Environment.NewLine + ex.Message + Environment.NewLine + ex.StackTrace); } }