コード例 #1
0
ファイル: Account.cs プロジェクト: mfro/LeagueClient
 /// <summary>
 /// Deletes a mastery page from your mastery page book and updates the
 /// contents of the local and server-side mastery books
 /// </summary>
 /// <param name="page">The page to delete</param>
 public void DeleteMasteryPage(MasteryBookPageDTO page) {
   if (!Masteries.BookPages.Contains(page)) throw new ArgumentException("Book page not found: " + page);
   Masteries.BookPages.Remove(page);
   SelectedMasteryPage = Masteries.BookPages.First();
   SelectedMasteryPage.Current = true;
   RiotServices.MasteryBookService.SaveMasteryBook(Masteries);
 }
コード例 #2
0
        private void MasteryPageListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            foreach (var mastery in Client.Masteries)
            {
                mastery.selectedRank = 0;
            }

            foreach (var masteryPage in Client.LoginPacket.AllSummonerData.MasteryBook.BookPages)
            {
                if (masteryPage.Current)
                {
                    masteryPage.Current = false;
                }

                if (Math.Abs(masteryPage.PageId - _masteryPageOrder[MasteryPageListView.SelectedIndex]) > .00001)
                {
                    continue;
                }

                masteryPage.Current = true;
                _selectedBook       = masteryPage;
            }
            ChangeBook();
            RenderMasteries();
        }
コード例 #3
0
        private async void RightButton_Click(object sender, RoutedEventArgs e)
        {
            int i = 0;

            foreach (MasteryBookPageDTO MasteryPage in Client.LoginPacket.AllSummonerData.MasteryBook.BookPages)
            {
                if (MasteryPage.Current)
                {
                    break;
                }
                i++;
            }

            //Make sure it has found the mastery page! Just to be safe :)
            if (i == Client.LoginPacket.AllSummonerData.MasteryBook.BookPages.Count - 1)
            {
                return;
            }

            //Swap the mastery page id and location
            MasteryBookPageDTO tempDTO      = Client.LoginPacket.AllSummonerData.MasteryBook.BookPages[i];
            MasteryBookPageDTO tempDTOTwo   = Client.LoginPacket.AllSummonerData.MasteryBook.BookPages[i + 1];
            double             TempDTOTwoId = tempDTOTwo.PageId;

            tempDTOTwo.PageId = tempDTO.PageId;
            tempDTO.PageId    = TempDTOTwoId;
            Client.LoginPacket.AllSummonerData.MasteryBook.BookPages.Remove(tempDTO);
            Client.LoginPacket.AllSummonerData.MasteryBook.BookPages.Insert(i + 1, tempDTO);

            MasteryPageListView.SelectedIndex += 1;

            await RiotCalls.SaveMasteryBook(Client.LoginPacket.AllSummonerData.MasteryBook);
        }
コード例 #4
0
ファイル: Account.cs プロジェクト: mfro/LeagueClient
    internal Account(LoginSession session, LoginDataPacket packet) {
      LoginSession = session;
      LoginPacket = packet;

      SelectedRunePage = Runes.BookPages.FirstOrDefault(p => p.Current);
      SelectedMasteryPage = Masteries.BookPages.FirstOrDefault(p => p.Current);
    }
コード例 #5
0
        internal Account(LoginSession session, LoginDataPacket packet)
        {
            LoginSession = session;
            LoginPacket  = packet;

            SelectedRunePage    = Runes.BookPages.FirstOrDefault(p => p.Current);
            SelectedMasteryPage = Masteries.BookPages.FirstOrDefault(p => p.Current);
        }
コード例 #6
0
ファイル: Account.cs プロジェクト: mfro/LeagueClient
    /// <summary>
    /// Selects a mastery page as the default selected page for your account and
    /// updates the contents of the local and server-side mastery books
    /// </summary>
    /// <param name="page">The page to select</param>
    public async void SelectMasteryPage(MasteryBookPageDTO page) {
      if (page == SelectedMasteryPage) return;

      foreach (var item in Masteries.BookPages) item.Current = false;
      page.Current = true;
      SelectedMasteryPage = page;
      await RiotServices.MasteryBookService.SelectDefaultMasteryBookPage(page);
      await RiotServices.MasteryBookService.SaveMasteryBook(Masteries);
    }
コード例 #7
0
 /// <summary>
 /// Deletes a mastery page from your mastery page book and updates the
 /// contents of the local and server-side mastery books
 /// </summary>
 /// <param name="page">The page to delete</param>
 public void DeleteMasteryPage(MasteryBookPageDTO page)
 {
     if (!Masteries.BookPages.Contains(page))
     {
         throw new ArgumentException("Book page not found: " + page);
     }
     Masteries.BookPages.Remove(page);
     SelectedMasteryPage         = Masteries.BookPages.First();
     SelectedMasteryPage.Current = true;
     RiotServices.MasteryBookService.SaveMasteryBook(Masteries);
 }
コード例 #8
0
 private void LoadPage(MasteryBookPageDTO page) {
   loading = true;
   this.page = page;
   foreach (var item in Icons.Values) item.Points = 0;
   PageNameBox.Text = page.Name;
   foreach (var item in page.TalentEntries) {
     var talent = item;
     Icons[talent.TalentId + ""].Points = talent.Rank;
   }
   loading = false;
   CheckPoints();
   unsaved = false;
   Changed.Text = "";
   Session.Current.Account.SelectMasteryPage(page);
 }
コード例 #9
0
        /// <summary>
        /// Selects a mastery page as the default selected page for your account and
        /// updates the contents of the local and server-side mastery books
        /// </summary>
        /// <param name="page">The page to select</param>
        public async void SelectMasteryPage(MasteryBookPageDTO page)
        {
            if (page == SelectedMasteryPage)
            {
                return;
            }

            foreach (var item in Masteries.BookPages)
            {
                item.Current = false;
            }
            page.Current        = true;
            SelectedMasteryPage = page;
            await RiotServices.MasteryBookService.SelectDefaultMasteryBookPage(page);

            await RiotServices.MasteryBookService.SaveMasteryBook(Masteries);
        }
コード例 #10
0
 private void MasteryPageListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     foreach (masteries mastery in Client.Masteries)
     {
         mastery.selectedRank = 0;
     }
     foreach (MasteryBookPageDTO MasteryPage in Client.LoginPacket.AllSummonerData.MasteryBook.BookPages)
     {
         if (MasteryPage.Current)
         {
             MasteryPage.Current = false;
         }
     }
     Client.LoginPacket.AllSummonerData.MasteryBook.BookPages[MasteryPageListView.SelectedIndex].Current = true;
     SelectedBook = Client.LoginPacket.AllSummonerData.MasteryBook.BookPages[MasteryPageListView.SelectedIndex];
     ChangeBook();
     RenderMasteries();
 }
コード例 #11
0
 private void LoadPage(MasteryBookPageDTO page)
 {
     loading   = true;
     this.page = page;
     foreach (var item in Icons.Values)
     {
         item.Points = 0;
     }
     PageNameBox.Text = page.Name;
     foreach (var item in page.TalentEntries)
     {
         var talent = item;
         Icons[talent.TalentId + ""].Points = talent.Rank;
     }
     loading = false;
     CheckPoints();
     unsaved      = false;
     Changed.Text = "";
     Session.Current.Account.SelectMasteryPage(page);
 }
コード例 #12
0
        private async void AddPageButton_Click(object sender, RoutedEventArgs e)
        {
            double pageId = 0;

            foreach (var item in Client.LoginPacket.AllSummonerData.MasteryBook.BookPages)
            {
                if (pageId <= item.PageId)
                {
                    pageId = item.PageId;
                    pageId++;
                }
            }
            MasteryBookPageDTO newPage = new MasteryBookPageDTO();

            newPage.SummonerId    = Client.LoginPacket.AllSummonerData.Summoner.SumId;
            newPage.Name          = "@@!PaG3!@@" + pageId;
            newPage.PageId        = pageId;
            newPage.TalentEntries = new List <TalentEntry>();
            Client.LoginPacket.AllSummonerData.MasteryBook.BookPages.Add(newPage);
            await RiotCalls.SaveMasteryBook(Client.LoginPacket.AllSummonerData.MasteryBook);

            _masteryPageOrder.Add(pageId);
            MasteryPageListView.Items.Add(Client.LoginPacket.AllSummonerData.MasteryBook.BookPages.Count + " ");
        }
コード例 #13
0
 public static async Task<object> GetMasterySetups(string realm, double summonerId)
 {
     object variable;
     RiotAccount[] all = JsApiService.AccountBag.GetAll();
     bool flag = all.Any<RiotAccount>((RiotAccount x) =>
     {
         if (!string.Equals(x.RealmId, realm, StringComparison.OrdinalIgnoreCase))
         {
             return false;
         }
         return (double)x.SummonerId == summonerId;
     });
     if (!flag)
     {
         RiotAccount riotAccount = JsApiService.AccountBag.Get(realm);
         MasteryBookDTO masteryBookDTO = await riotAccount.InvokeCachedAsync<MasteryBookDTO>("masteryBookService", "getMasteryBook", summonerId);
         MasteryBookDTO masteryBookDTO1 = masteryBookDTO;
         List<MasteryBookPageDTO> bookPages = masteryBookDTO1.BookPages;
         MasteryBookPageDTO masteryBookPageDTO = bookPages.FirstOrDefault<MasteryBookPageDTO>((MasteryBookPageDTO x) => x.Current);
         if (masteryBookPageDTO == null)
         {
             masteryBookPageDTO = new MasteryBookPageDTO();
         }
         string str = masteryBookPageDTO.PageId.ToString(CultureInfo.InvariantCulture);
         List<MasteryBookPageDTO> masteryBookPageDTOs = masteryBookDTO1.BookPages;
         IOrderedEnumerable<MasteryBookPageDTO> pageId =
             from page in masteryBookPageDTOs
             orderby page.PageId
             select page;
         variable = new
         {
             Local = false,
             ActiveId = str,
             Setups =
                 from page in pageId
                 select new
                 {
                     Id = page.PageId.ToString(CultureInfo.InvariantCulture),
                     Name = page.Name,
                     Masteries =
                         from entry in page.TalentEntries
                         select new { Id = entry.TalentId, Points = entry.Rank }
                 }
         };
     }
     else
     {
         LittleClient client = JsApiService.Client;
         object[] objArray = new object[] { "masteries" };
         MasteryBook masteryBook = await client.InvokeCached<MasteryBook>("storage.get", objArray);
         string activeId = masteryBook.ActiveId;
         MasterySetup[] setups = masteryBook.Setups;
         variable = new
         {
             Local = true,
             ActiveId = activeId,
             Setups =
                 from setup in (IEnumerable<MasterySetup>)setups
                 select new
                 {
                     Id = setup.Id,
                     Name = setup.Name,
                     Masteries =
                         from mastery in (IEnumerable<Mastery>)setup.Masteries
                         select new { Id = mastery.Id, Points = mastery.Rank }
                 }
         };
     }
     return variable;
 }
コード例 #14
0
 private static MasteryBookPageDTO ToMasteryBookPage(MasterySetup setup)
 {
     IEnumerable<TalentEntry> masteries =
         from x in (IEnumerable<Mastery>)setup.Masteries
         select new TalentEntry()
         {
             TalentId = x.Id,
             Rank = x.Rank
         };
     MasteryBookPageDTO masteryBookPageDTO = new MasteryBookPageDTO()
     {
         Name = setup.Name,
         TalentEntries = masteries.ToList<TalentEntry>(),
         Current = false
     };
     return masteryBookPageDTO;
 }
コード例 #15
0
 private static MasteryBookPageDTO ToMasteryBookPage(MasterySetup setup)
 {
   IEnumerable<TalentEntry> source = Enumerable.Select<Mastery, TalentEntry>((IEnumerable<Mastery>) setup.Masteries, (Func<Mastery, TalentEntry>) (x => new TalentEntry()
   {
     TalentId = x.Id,
     Rank = x.Rank
   }));
   MasteryBookPageDTO masteryBookPageDto = new MasteryBookPageDTO();
   masteryBookPageDto.Name = setup.Name;
   masteryBookPageDto.TalentEntries = Enumerable.ToList<TalentEntry>(source);
   masteryBookPageDto.Current = false;
   return masteryBookPageDto;
 }
コード例 #16
0
 /// <summary>
 /// Selects the default mastery book
 /// </summary>
 /// <param name="page">The mastery book to select</param>
 /// <returns></returns>
 public Task <object> SelectDefaultMasteryBookPage(MasteryBookPageDTO page)
 {
     return(InvokeAsync <object>("selectDefaultMasteryBookPage", page));
 }