public static void LoadLibrary() { // make sure the file tree exists string libraryPath = UserConfig.GetValue(CONFIG_FILE, "libary_path", defaultPath); Directory.CreateDirectory(Path.GetDirectoryName(libraryPath)); using (StreamReader reader = new StreamReader(File.Open(libraryPath, FileMode.OpenOrCreate))) { string content = reader.ReadToEnd(); collection = JsonConvert.DeserializeObject <Dictionary <string, GameEntry> >(content); if (collection == null) { collection = new Dictionary <string, GameEntry>(); } } // load recent recent = new FixedList <string>(MAX_RECENT); if (UserConfig.HasProperty(CONFIG_FILE, "recent")) { foreach (var entry in UserConfig.GetValue <JArray>(CONFIG_FILE, "recent")) { recent.Add(entry.ToString()); } } else { UserConfig.SetValue(CONFIG_FILE, "recent", recent.ToArray()); } }