示例#1
0
        public void GetChampionsAsync_Test()
        {
            var champs = api.GetChampionsAsync(Region.euw, ChampionData.all);

            Assert.IsNotNull(champs.Result.Champions);
            Assert.IsTrue(champs.Result.Champions.Count > 0);
        }
示例#2
0
        async Task <ListView> loadChampions()
        {
            if (App.championList.Count == 0)
            {
                var allChampions = await staticApi.GetChampionsAsync(Region.euw, new List <ChampionData> {
                    ChampionData.image
                });

                var tempChampsList = allChampions.Champions.Values.ToList();
                foreach (var champ in tempChampsList)
                {
                    champ.Icon = new UriImageSource
                    {
                        Uri            = new Uri(string.Format("https://ddragon.leagueoflegends.com/cdn/{0}/img/champion/{1}", App.appVersion, champ.Image.Full)),
                        CachingEnabled = false
                    };
                }
                App.championList = tempChampsList;
            }

            var listView = new ListView();

            listView.ItemTemplate = imageTemplate;

            var tempChamps = App.championList;
            var tempList2  = tempChamps.OrderBy(x => x.Name).ToList();
            var champs     = new ObservableCollection <ChampionStatic>(tempList2);

            listView.ItemsSource = champs;

            listView.ItemTapped += async(sender, e) =>
            {
                var myListView = (ListView)sender;
                var champion   = (ChampionStatic)myListView.SelectedItem;
                UserDialogs.Instance.ShowLoading("Loading " + champion.Name, MaskType.Black);
                var champPlayed = await staticApi.GetChampionAsync(Region.euw, champion.Id, new List <ChampionData> {
                    RiotSharp.StaticDataEndpoint.ChampionData.all
                });

                UserDialogs.Instance.HideLoading();
                await Navigation.PushAsync(new ChampionPage(champPlayed));
            };
            return(listView);
        }
示例#3
0
        public async void LoadAllChampionsRiotApi()
        {
            AllChampions.RemoveAllChampions();
            if (MySettings.UserApiKey.Length == 36)
            {
                try {
                    StaticRiotApi staticApi = StaticRiotApi.GetInstance(_s.UserApiKey);
                    RiotSharp.StaticDataEndpoint.ChampionListStatic champions = await staticApi.GetChampionsAsync(RiotSharp.Region.euw, RiotSharp.StaticDataEndpoint.ChampionData.info, RiotSharp.Language.en_US);

                    for (int i = 0; i < champions.Champions.Count; i++)
                    {
                        string ChampionName = champions.Champions.Values.ElementAt(i).Name;
                        AllChampions.AddChampion(ChampionName);
                    }
                } catch (RiotSharpException ex) {
                    StaticErrorLogger.WriteErrorReport(ex, "Handled; AppRuntimeResourcesManager/LoadAllChampionsRiotApi:RiotSharpException");
                    DisplayPopup("Trouble with loading champions trough the api");
                } catch (NullReferenceException ex) {
                    StaticErrorLogger.WriteErrorReport(ex, "Handled;  AppRuntimeResourcesManager/LoadAllChampionsRiotApi:NullReferenceException");
                    DisplayPopup("Internet problem while loading champions");
                }
            }
            else
            {
                DisplayPopup("No correct API key found, get one at https://developer.riotgames.com/");
            }
        }