public async Task UploadItemSet(Position pos, int championId) { LogTo.Debug("Trying to upload item set"); var provider = RuneProviders.FirstOrDefault(o => o.Name == Config.ItemSetProvider) ?? RuneProviders[0]; var set = await provider.GetItemSet(championId, pos); if (set == null) { LogTo.Error("Failed to get item set from {0}", provider.Name); return; } LogTo.Info("Gotten item set from {0}", provider.Name); if (Config.ShowSkillOrder) { if (!provider.Supports(Provider.Options.SkillOrder)) { LogTo.Error("Tried to upload skill order but selected provider doesn't support it"); } else { LogTo.Debug("Appending skill order block to item set"); var order = await provider.GetSkillOrder(championId, pos); var blocks = new List <ItemSet.SetBlock>(set.Blocks); blocks.Insert(0, new ItemSet.SetBlock { Name = "Skill order: " + order, Items = SkillOrderBlockContent }); set.Blocks = blocks.ToArray(); if (order.Contains(' ')) { set.Name += " " + order.Split(' ')[0]; } } } LogTo.Debug("Uploading item set"); await set.UploadToClient(LoL.Login, LoL.ItemSets); LogTo.Debug("Uploaded item set"); Main.ShowNotification("Upload item set", string.Format("From {0}", provider.Name), NotificationType.Success); }
public async Task UploadSkillOrder(Position pos, int championId) { LogTo.Debug("Trying to upload skill order"); var provider = Array.Find(RuneProviders, o => o.Name == Config.Current.SkillOrderProvider) ?? RuneProviders.First(o => o.Supports(Provider.Options.SkillOrder)); if (!provider.Supports(Provider.Options.SkillOrder)) { LogTo.Error("Provider {0} doesn't support skill order", provider.Name); return; } LogTo.Debug("Getting skill order from provider {0}", provider.Name); var order = await provider.GetSkillOrder(championId, pos); LogTo.Info("Gotten skill order from {0}: {1}", provider.Name, order); var set = new ItemSet { Name = "Skill order" + (order.Contains(' ') ? " " + order.Split(' ')[0] : ""), Champion = championId, Blocks = new[] { new ItemSet.SetBlock { Name = "Skill order: " + order, Items = SkillOrderBlockContent } } }; LogTo.Debug("Uploading skill order item set"); await set.UploadToClient(LoL.Login, LoL.ItemSets); LogTo.Debug("Uploaded skill order"); }