Exemplo n.º 1
0
        private async void InitLatest()
        {
            dynamic riotVersion = JsonConvert.DeserializeObject <dynamic>(await DataDragonUtils.GetAsync($"https://ddragon.leagueoflegends.com/realms/{Realm}.json"));

            version.CDN      = riotVersion.cdn;
            version.Champion = riotVersion.n.champion;
            version.Item     = riotVersion.n.item;
            version.Summoner = riotVersion.n.summoner;

            var oldPatch = BroadcastHubController.ClientConfig.frontend.patch;

            BroadcastHubController.ClientConfig.frontend.patch = version.Champion;
            if (oldPatch != BroadcastHubController.ClientConfig.frontend.patch)
            {
                BroadcastHubController.WriteConfig("config.json", BroadcastHubController.ClientConfig);
            }

            Init();
        }
Exemplo n.º 2
0
        private async void Init()
        {
            System.Diagnostics.Debug.WriteLine($"Champion: {version.Champion}, Item: {version.Item}, CDN: {version.CDN}");

            Champions = new List <Champion>(JsonConvert.DeserializeObject <dynamic>(await DataDragonUtils.GetAsync($"{version.CDN}/{version.Champion}/data/en_US/champion.json")).data.ToObject <Dictionary <string, Champion> >().Values);
            Logging.Info($"Loaded {Champions.Count} champions");

            SummonerSpells = new List <SummonerSpell>(JsonConvert.DeserializeObject <dynamic>(await DataDragonUtils.GetAsync($"{version.CDN}/{version.Item}/data/en_US/summoner.json")).data.ToObject <Dictionary <string, SummonerSpell> >().Values);
            Logging.Info($"Loaded {SummonerSpells.Count} summoner spells");

            List <KeyValuePair <int, ItemData> > rawItemData = new List <KeyValuePair <int, ItemData> >(JsonConvert.DeserializeObject <dynamic>(await DataDragonUtils.GetAsync($"{version.CDN}/{version.Item}/data/en_US/item.json")).data.ToObject <Dictionary <int, ItemData> >());

            Logging.Info($"Loaded {rawItemData.Count} items");

            rawItemData.ForEach(kvPair => {
                ItemData itemData = kvPair.Value;
                itemData.itemID   = kvPair.Key;
                if (itemData.gold.total >= Properties.Settings.Default.ItemGoldCutoff || itemData.specialRecipe != 0)
                {
                    Items.Add(itemData);
                    FullIDs.Add(itemData.itemID);
                }
            });

            Logging.Info($"Registered {Items.Count} full items");

            //Download all needed champion, item, and summoner spell data
            await CheckLocalCache();

            FinishedLoading.Invoke(this, EventArgs.Empty);
        }