示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <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);
        }