Пример #1
0
        public async Task <Helper> GetHelper(Helper.HelperStatic helperStatic)
        {
            var version = GlobalSettings.FileVersions.Helper;

            if (string.IsNullOrWhiteSpace(version))
            {
                version = GlobalSettings.DefaultVersion;
            }

            var data = await WebClient.GetString(new Uri(GHStatic + version + HelpersPath));

            if (data == null)
            {
                return(null);
            }

            var      dataCSV   = CsvReader.ReadFromText(data);
            ICsvLine helperRow = dataCSV.SingleOrDefault(r => r[0] == "H" + helperStatic.Id.ToString("00"));

            if (helperRow == null)
            {
                return(null);
            }

            var image = await GetImage(helperStatic.ImageUrl);

            var skills = await GetAllHelperSkills();

            return(BuildHelper(helperRow, skills, helperStatic, image, version));
        }
Пример #2
0
        private Helper BuildHelper(ICsvLine serverData, List <HelperSkill> helperSkills, Helper.HelperStatic staticData, Bitmap image, string version)
        {
            int.TryParse(serverData[0].Replace("H", ""), out int helperId);
            int.TryParse(serverData[1], out int order);
            Enum.TryParse(serverData[2], out HelperType type);
            double.TryParse(serverData[3], out double baseCost);
            int.TryParse(serverData[4], out int isInGame);

            var skills = helperSkills.Where(h => h.HelperId == helperId).ToList();

            return(staticData.Build(type, order, baseCost, skills, isInGame > 0, image ?? new Bitmap(1, 1), version));
        }