예제 #1
0
        private static List <Player.Alias> Aliases(IHtmlDocument doc)
        {
            var platformDiv = doc.QuerySelector("#profile-platforms");

            if (platformDiv == null)
            {
                return(null);
            }
            var platforms = new List <Player.Alias>();
            var html      = platformDiv.ToHtml();

            foreach (var platform in platformDiv.QuerySelectorAll(".masthead-buttons.button-group.js-button-group").Children(":not(.is-active)"))
            {
                var newAlias       = new Player.Alias();
                var platformString = platform.TextContent;
                var url            = platform.GetAttribute("href");
                newAlias.UrlName  = url.Substring(url.LastIndexOf('/') + 1);
                newAlias.Username = newAlias.UrlName.Replace('-', '#');
                if (string.Equals(platformString, Platform.Pc.ToString(), StringComparison.OrdinalIgnoreCase))
                {
                    newAlias.Platform = Platform.Pc;
                }
                if (string.Equals(platformString, Platform.Psn.ToString(), StringComparison.OrdinalIgnoreCase))
                {
                    newAlias.Platform = Platform.Psn;
                }
                if (string.Equals(platformString, Platform.Xbl.ToString(), StringComparison.OrdinalIgnoreCase))
                {
                    newAlias.Platform = Platform.Xbl;
                }
                platforms.Add(newAlias);
            }

            return(platforms);
        }
 public async Task <Player> GetOtherProfileFromAliasAsync(Player.Alias playerAlias) =>
 await GetPlayerAsync(playerAlias.Username, playerAlias.Platform);