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)); }
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)); }