AdvancedLauncher.Providers.GameKing.GameKingWebProvider.GetMercenaryInfo C# (CSharp) Метод

GetMercenaryInfo() защищенный Метод

protected GetMercenaryInfo ( Digimon &digimon, Tamer tamer ) : bool
digimon AdvancedLauncher.SDK.Model.Entity.Digimon
tamer AdvancedLauncher.SDK.Model.Entity.Tamer
Результат bool
        protected override bool GetMercenaryInfo(ref Digimon digimon, Tamer tamer)
        {
            //we don't need starters info
            if (digimon.Type.IsStarter) {
                return false;
            }
            if (LogManager != null) {
                LogManager.InfoFormat("Obtaining detailed data of digimon \"{0}\" for tamer \"{1}\"", digimon.Name, tamer.Name);
            }

            HtmlNode ranking = tryLoadNode(string.Format(STR_URL_MERC_SIZE_RANK, tamer.Name, "srv" + tamer.Guild.Server.Identifier.ToString(), digimon.Type.Code), STR_RANKING_NODE);
            HtmlNodeCollection dlist = ranking.SelectNodes("//tr/td[@class='tamer2']");

            if (dlist != null) {
                for (int i = 0; i < dlist.Count; i++) {
                    if (ClearStr(ranking.SelectNodes("//td[@class='tamer2']")[i].InnerText) == tamer.Name) {
                        string size = ranking.SelectNodes("//td[@class='size']")[i + 3].InnerText.Replace("cm", "");
                        string size_cm = size.Substring(0, size.IndexOf(' '));
                        double SizeCm = 0;
                        double.TryParse(size_cm.Replace('.', ','), out SizeCm);
                        digimon.SizeCm = SizeCm;
                        digimon.SizePc = Convert.ToInt32(size.Substring(size.LastIndexOf('(') + 1, size.LastIndexOf('%') - size.LastIndexOf('(') - 1));
                        digimon.SizeRank = Convert.ToInt32(ClearStr(ranking.SelectNodes("//td[@class='ranking']")[i + 3].InnerText));
                        digimon.Name = ClearStr(ranking.SelectNodes("//td[@class='name']")[i + 3].InnerText);
                        return true;
                    }
                }
            }
            return false;
        }