Пример #1
0
        private void UpdateRunes()
        {
            if (!DataDragon.IsCurrent)
            {
                return;
            }
            int i = 0;

            for (; i < 9; i++)
            {
                Runes[i].Source = new BitmapImage(new Uri("pack://application:,,,/RiotAPI;component/Resources/MarkDefault.png"));
            }
            for (; i < 18; i++)
            {
                Runes[i].Source = new BitmapImage(new Uri("pack://application:,,,/RiotAPI;component/Resources/SealDefault.png"));
            }
            for (; i < 27; i++)
            {
                Runes[i].Source = new BitmapImage(new Uri("pack://application:,,,/RiotAPI;component/Resources/GlyphDefault.png"));
            }
            for (; i < 30; i++)
            {
                Runes[i].Source = new BitmapImage(new Uri($"pack://application:,,,/RiotAPI;component/Resources/Quint{i - 26}Default.png"));
            }

            foreach (var entry in page.SlotEntries)
            {
                var rune = Runes[entry.RuneSlotId - 1];
                var data = DataDragon.RuneData.Value.data[entry.rune.ItemId.ToString()];
                rune.Source = DataDragon.GetRuneImage(data).Load();
                rune.Tag    = entry;
                var grid = new Grid();
                grid.RowDefinitions.Add(new RowDefinition {
                    Height = GridLength.Auto
                });
                grid.RowDefinitions.Add(new RowDefinition {
                    Height = GridLength.Auto
                });
                var title = new Label {
                    HorizontalAlignment = HorizontalAlignment.Center, Content = data.name
                };
                var detail = new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Center, Text = data.description
                };
                grid.Children.Add(title);
                grid.Children.Add(detail);
                Grid.SetRow(detail, 1);
                rune.ToolTip = grid;
            }

            MarksList.Children.Clear();
            SealsList.Children.Clear();
            GlyphsList.Children.Clear();
            QuintsList.Children.Clear();
            foreach (var rune in runes)
            {
                var data = DataDragon.RuneData.Value.data[rune.RuneId.ToString()];
                int used = page.SlotEntries.Count(r => r.RuneId == rune.RuneId);
                if (rune.Quantity - used > 0)
                {
                    var item = new RuneListItem(rune, rune.Quantity - used);
                    item.MouseUp += RuneListItem_Click;
                    switch (data.rune.type)
                    {
                    case "red":
                        MarksList.Children.Add(item);
                        break;

                    case "yellow":
                        SealsList.Children.Add(item);
                        break;

                    case "blue":
                        GlyphsList.Children.Add(item);
                        break;

                    case "black":
                        QuintsList.Children.Add(item);
                        break;
                    }
                }
            }
        }
Пример #2
0
    private void UpdateRunes() {
      if (!DataDragon.IsCurrent) return;
      int i = 0;
      for (; i < 9; i++) Runes[i].Source = new BitmapImage(new Uri("pack://application:,,,/RiotAPI;component/Resources/MarkDefault.png"));
      for (; i < 18; i++) Runes[i].Source = new BitmapImage(new Uri("pack://application:,,,/RiotAPI;component/Resources/SealDefault.png"));
      for (; i < 27; i++) Runes[i].Source = new BitmapImage(new Uri("pack://application:,,,/RiotAPI;component/Resources/GlyphDefault.png"));
      for (; i < 30; i++) Runes[i].Source = new BitmapImage(new Uri($"pack://application:,,,/RiotAPI;component/Resources/Quint{i - 26}Default.png"));

      foreach (var entry in page.SlotEntries) {
        var rune = Runes[entry.RuneSlotId - 1];
        var data = DataDragon.RuneData.Value.data[entry.rune.ItemId.ToString()];
        rune.Source = DataDragon.GetRuneImage(data).Load();
        rune.Tag = entry;
        var grid = new Grid();
        grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
        grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
        var title = new Label { HorizontalAlignment = HorizontalAlignment.Center, Content = data.name };
        var detail = new TextBlock { HorizontalAlignment = HorizontalAlignment.Center, Text = data.description };
        grid.Children.Add(title);
        grid.Children.Add(detail);
        Grid.SetRow(detail, 1);
        rune.ToolTip = grid;
      }

      MarksList.Children.Clear();
      SealsList.Children.Clear();
      GlyphsList.Children.Clear();
      QuintsList.Children.Clear();
      foreach (var rune in runes) {
        var data = DataDragon.RuneData.Value.data[rune.RuneId.ToString()];
        int used = page.SlotEntries.Count(r => r.RuneId == rune.RuneId);
        if (rune.Quantity - used > 0) {
          var item = new RuneListItem(rune, rune.Quantity - used);
          item.MouseUp += RuneListItem_Click;
          switch (data.rune.type) {
            case "red":
              MarksList.Children.Add(item);
              break;
            case "yellow":
              SealsList.Children.Add(item);
              break;
            case "blue":
              GlyphsList.Children.Add(item);
              break;
            case "black":
              QuintsList.Children.Add(item);
              break;
          }
        }
      }
    }