Beispiel #1
0
        public CurrentGameData GetCurrentGameData(ApiRegion region, long summonerId)
        {
            string currentGameDataUrl = string.Format("observer-mode/rest/consumer/getSpectatorGameInfo/{0}/{1}",
                                                      regionCodesAlt[region], summonerId);

            var data = api.GetData(region, currentGameDataUrl);

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

            var participants = data["participants"];

            return(new CurrentGameData
            {
                TeamMembers = participants
                              .Children()
                              .Select(t => new TeamMember
                {
                    SummonerId = t["summonerId"].Value <long>(),
                    SummonerName = t["summonerName"].Value <string>(),
                    ChampionId = t["championId"].Value <long>(),
                    IsBlueTeam = t["teamId"].Value <long>() == 100
                }).ToList()
            });
        }
Beispiel #2
0
        public JObject GetData(ApiRegion region, string urlPattern)
        {
            var requestUrl = GetRequestUrl(region, urlPattern);

            var request = WebRequest.Create(requestUrl + "?api_key=" + apiKey);

            try
            {
                var response = (HttpWebResponse)(request.GetResponse());

                var responseStream = response.GetResponseStream();
                using (var reader = new StreamReader(responseStream, Encoding.UTF8))
                {
                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        return(JObject.Parse(reader.ReadToEnd()));
                    }

                    return(JObject.Parse(response.StatusCode.ToString()));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(null);
            }
        }
Beispiel #3
0
        public RecentGameData GetRecentGameData(ApiRegion region, long summonerId)
        {
            string recentGameDataUrl = string.Format("/api/lol/{0}/v1.3/game/by-summoner/{1}/recent",
                                                     regionCodes[region], summonerId);

            var data = api.GetData(region, recentGameDataUrl);

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

            return(new RecentGameData
            {
            });
        }
Beispiel #4
0
        private string GetRequestUrl(ApiRegion region, string requestParams)
        {
            string baseurl = null;

            switch (region)
            {
            case ApiRegion.NA:
                baseurl = "https://na.api.pvp.net/";
                break;

            case ApiRegion.EUW:
                baseurl = "https://euw.api.pvp.net/";
                break;

            default:
                baseurl = null;
                break;
            }
            return(baseurl + requestParams);
        }
Beispiel #5
0
        public SummonerData GetSummonerByName(ApiRegion region, string name)
        {
            string summonerByNameUrl = string.Format("api/lol/{0}/v1.4/summoner/by-name/{1}",
                                                     regionCodes[region], name);

            var fetch = api.GetData(region, summonerByNameUrl);

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

            var data = fetch[name.Replace(" ", "").ToLower()];

            return(new SummonerData
            {
                Id = data["id"].Value <long>(),
                Name = data["name"].Value <string>(),
                ProfileIconId = data["profileIconId"].Value <int>(),
                RevisionDate = data["revisionDate"].Value <long>(),
                Level = data["summonerLevel"].Value <int>()
            });
        }
Beispiel #6
0
 public string GetRegionString()
 {
     return(ApiRegion.GetCode());
 }