/// <summary> /// Loads BossData from specified json file. /// </summary> /// <param name="filePath">The json file form which the data is loaded.</param> /// <returns>A Dictionary containing the loaded BossData.</returns> public static IDictionary <int, BossData> FromJsonFile(string filePath) { var jsonData = File.ReadAllText(filePath); _all = BossData.ParseJsonString(jsonData); return(_all); }
/// <summary> /// Loads all bosses' data from a specified file. /// </summary> /// <param name="file">The file from which the bosses are loaded from</param> /// <returns>A dictionary with all encounters</returns> public static Dictionary <int, BossData> FromFile(string file) { Dictionary <int, BossData> allBosses = GetAllBosses(); if (allBosses.Count > 0) { allBosses.Clear(); } using (StreamReader reader = new StreamReader(file)) { string line = reader.ReadLine(); // skip the first line while ((line = reader.ReadLine()) != null) { allBosses.Add(allBosses.Count + 1, BossData.FromSavedFormat(line)); } } return(allBosses); }
/// <summary> /// Returns a dictionary with default BossData values. /// </summary> /// <returns>Dictionary with default BossData values</returns> public static IDictionary <int, BossData> GetDefaultSettingsForBossesAsDictionary() { const string defaultBossData = "PlenBotLogUploader.Resources.boss_data.default.json"; var assembly = Assembly.GetExecutingAssembly(); using var stream = assembly.GetManifestResourceStream(defaultBossData); using var reader = new StreamReader(stream); var jsonString = reader.ReadToEnd(); _all = BossData.ParseJsonString(jsonString); foreach (var boss in _all) { if ((boss.Value.Type != BossType.Golem) && (boss.Value.Type != BossType.WvW) && !boss.Value.Event) { boss.Value.SuccessMsg = ApplicationSettings.Current.BossTemplate.SuccessText; boss.Value.FailMsg = ApplicationSettings.Current.BossTemplate.FailText; } } SaveToJson(_all); return(_all); }