Exemplo n.º 1
0
 public async Task <Rank> GetRank(RankedRegion region, int season = -1)
 {
     if (Ranks is null || !Ranks.ContainsKey($"{region}:{season}") || Ranks[$"{region}:{season}"].ShouldRefresh)
     {
         await LoadRank(region, season);
     }
     return(Ranks[$"{region}:{season}"]);
 }
Exemplo n.º 2
0
        /// <summary>
        /// Запрос на ранг игрока
        /// </summary>
        /// <param name="region"> регион </param>
        /// <param name="season"> номер сезона </param>
        /// <returns></returns>
        private async Task <Rank> LoadRankAsync(RankedRegion region, int season = -1)
        {
            var json = await API.GetAPI().GetAsync($"https://public-ubiservices.ubi.com/v1/spaces/{PlatformSpaceId}/sandboxes/{PlatformUrl}/r6karma/players?board_id=pvp_ranked&profile_ids={ProfileId}&region_id={region.ToStringValue()}&season_id={season}");

            var data = JsonConvert.DeserializeObject <JObject>(json);

            Rank rank = JsonConvert.DeserializeObject <Rank>(data["players"][ProfileId].ToString());

            rank.Name = Rank.Ranks[rank.RankId];
            rank.Icon = Rank.RankIcons[rank.RankId];
            return(rank);
        }
Exemplo n.º 3
0
            private async Task LoadRank(RankedRegion region, int season = -1)
            {
                var json = await API.GetAPI().GetAsync($"https://public-ubiservices.ubi.com/v1/spaces/{SpaceId}/sandboxes/{PlatformUrl}/r6karma/players?board_id=pvp_ranked&profile_ids={ProfileId}&region_id={region.ToStringValue()}&season_id={season}");

                var data = JsonConvert.DeserializeObject <JObject>(json);

                var regionkey = $"{region}:{season}";

                if (Ranks is null)
                {
                    Ranks = new Dictionary <string, Rank>();
                }
                Ranks.Add(regionkey, JsonConvert.DeserializeObject <Rank>(data["players"][ProfileId].ToString()));
            }
Exemplo n.º 4
0
        public static string ToStringValue(this RankedRegion region)
        {
            switch (region)
            {
            case RankedRegion.EU:
                return("emea");

            case RankedRegion.NA:
                return("ncsa");

            case RankedRegion.ASIA:
                return("apac");

            default:
                throw new ArgumentOutOfRangeException("Region");
            }
        }