internal void ChangeSelectedChampionSkins(int selectedChampionId) { Skins = null; Skins = new List<int>(); champions champion = champions.GetChampion(selectedChampionId); if (champion == null) return; SkinSelectListView.Items.Clear(); AbilityListView.Items.Clear(); //Render default skin var defaultSkinItem = new ListViewItem(); var skinImage = new Image(); if (File.Exists(Path.Combine(Client.ExecutingDirectory, "Assets", "champions", champion.portraitPath))) { string UriSource = Path.Combine(Client.ExecutingDirectory, "Assets", "champions", champion.portraitPath); skinImage.Source = Client.GetImage(UriSource); skinImage.Width = 191; skinImage.Stretch = Stretch.UniformToFill; defaultSkinItem.Tag = "0:" + champion.id; //Hack defaultSkinItem.Content = skinImage; SkinSelectListView.Items.Add(defaultSkinItem); //Render abilities List<championAbilities> Abilities = championAbilities.GetAbilities(selectedChampionId); var abilities = new List<ChampionAbility>(); foreach (championAbilities ability in Abilities) { var championAbility = new ChampionAbility(); UriSource = Path.Combine(Client.ExecutingDirectory, "Assets", ability.iconPath.ToLower().Contains("passive") ? "passive" : "spell", ability.iconPath); championAbility.AbilityImage.Source = Client.GetImage(UriSource); if (!string.IsNullOrEmpty(ability.hotkey)) championAbility.AbilityHotKey.Content = ability.hotkey; switch (ability.hotkey) { case "": championAbility.Order = 0; break; case "Q": championAbility.Order = 1; break; case "W": championAbility.Order = 2; break; case "E": championAbility.Order = 3; break; case "R": championAbility.Order = 4; break; } championAbility.AbilityName.Content = ability.name; if ((DateTime.Now.Month == 4) && (DateTime.Now.Day == 1)) championAbility.AbilityDescription.Text = ability.description.Replace("bard", "tard").Replace("Bard", "Tard"); else championAbility.AbilityDescription.Text = ability.description; championAbility.Width = 375; championAbility.Height = 75; abilities.Add(championAbility); } abilities.Sort(); foreach (ChampionAbility a in abilities) AbilityListView.Items.Add(a); //Render champions foreach (ChampionSkinDTO skin in from champ in ChampList where champ.ChampionId == selectedChampionId from skin in champ.ChampionSkins where skin.Owned select skin) { ListViewItem skinItem = new ListViewItem(); skinImage = new Image(); UriSource = Path.Combine(Client.ExecutingDirectory, "Assets", "champions", championSkins.GetSkin(skin.SkinId).portraitPath); skinImage.Source = Client.GetImage(UriSource); skinImage.Width = 191; skinImage.Stretch = Stretch.UniformToFill; skinItem.Tag = skin.SkinId; skinItem.Content = skinImage; SkinSelectListView.Items.Add(skinItem); Skins.Add(skin.SkinId); } if (Skins.Count > 0) { int index = SkinSelectListView.Items.IndexOf((ListViewItem)defaultSkinItem); ListViewItem randomSkinItem = new ListViewItem(); Image randomSkinImage = new Image(); var src = "/LegendaryClient;component/NONE.png"; randomSkinImage.Source = Client.GetImage(src); randomSkinImage.Width = 191; randomSkinImage.Stretch = Stretch.UniformToFill; randomSkinItem.Tag = "random"; randomSkinItem.Content = randomSkinImage; SkinSelectListView.Items.Insert(index, randomSkinItem); } } else Client.Log("File not found."); }
/// <summary> /// Render the post selection grid after locked in /// </summary> /// <param name="selection">Details of champion you want to render</param> internal void RenderLockInGrid(PlayerChampionSelectionDTO selection) { ChampionSelectListView.Visibility = Visibility.Hidden; AfterChampionSelectGrid.Visibility = Visibility.Visible; LockInButton.Content = "Locked In"; champions Champion = champions.GetChampion(selection.ChampionId); SkinSelectListView.Items.Clear(); AbilityListView.Items.Clear(); //Render default skin ListViewItem item = new ListViewItem(); Image skinImage = new Image(); string uriSource = Path.Combine(Client.ExecutingDirectory, "Assets", "champions", Champion.portraitPath); skinImage.Source = Client.GetImage(uriSource); skinImage.Width = 191; skinImage.Stretch = Stretch.UniformToFill; item.Tag = "0:" + Champion.id; //Hack item.Content = skinImage; SkinSelectListView.Items.Add(item); //Render abilities List<championAbilities> Abilities = championAbilities.GetAbilities(selection.ChampionId); foreach (championAbilities ability in Abilities) { ChampionAbility championAbility = new ChampionAbility(); uriSource = Path.Combine(Client.ExecutingDirectory, "Assets", "abilities", ability.iconPath); championAbility.AbilityImage.Source = Client.GetImage(uriSource); championAbility.AbilityHotKey.Content = ability.hotkey; championAbility.AbilityName.Content = ability.name; championAbility.AbilityDescription.Text = ability.description; championAbility.Width = 375; championAbility.Height = 75; AbilityListView.Items.Add(championAbility); } //Render champions foreach (ChampionDTO champ in ChampList) { if (champ.ChampionId == selection.ChampionId) { foreach (ChampionSkinDTO skin in champ.ChampionSkins) { if (skin.Owned) { item = new ListViewItem(); skinImage = new Image(); uriSource = Path.Combine(Client.ExecutingDirectory, "Assets", "champions", championSkins.GetSkin(skin.SkinId).portraitPath); skinImage.Source = Client.GetImage(uriSource); skinImage.Width = 191; skinImage.Stretch = Stretch.UniformToFill; item.Tag = skin.SkinId; item.Content = skinImage; SkinSelectListView.Items.Add(item); } } } } }
/// <summary> /// Render the post selection grid after locked in /// </summary> /// <param name="selection">Details of champion you want to render</param> internal void RenderLockInGrid(PlayerChampionSelectionDTO selection) { champions Champion = champions.GetChampion(selection.ChampionId); if (Champion == null) return; ChampionSelectListView.Visibility = Visibility.Hidden; AfterChampionSelectGrid.Visibility = Visibility.Visible; LockInButton.Content = "Locked In"; SkinSelectListView.Items.Clear(); AbilityListView.Items.Clear(); //Render default skin ListViewItem item = new ListViewItem(); Image skinImage = new Image(); string uriSource = Path.Combine(Client.ExecutingDirectory, "Assets", "champions", Champion.portraitPath); skinImage.Source = Client.GetImage(uriSource); skinImage.Width = 191; skinImage.Stretch = Stretch.UniformToFill; item.Tag = "0:" + Champion.id; //Hack item.Content = skinImage; SkinSelectListView.Items.Add(item); //Render abilities foreach (Spell ability in Champion.Spells) { ChampionAbility championAbility = new ChampionAbility(); championAbility.DataContext = ability; uriSource = Path.Combine(Client.ExecutingDirectory, "Assets", "spell", ability.Image); championAbility.AbilityImage.Source = Client.GetImage(uriSource); championAbility.Width = 375; championAbility.Height = 75; AbilityListView.Items.Add(championAbility); } //Render champions foreach (ChampionDTO champ in ChampList) { if (champ.ChampionId == selection.ChampionId) { foreach (ChampionSkinDTO skin in champ.ChampionSkins) { if (skin.Owned) { item = new ListViewItem(); skinImage = new Image(); uriSource = Path.Combine(Client.ExecutingDirectory, "Assets", "champions", championSkins.GetSkin(skin.SkinId).portraitPath); skinImage.Source = Client.GetImage(uriSource); skinImage.Width = 191; skinImage.Stretch = Stretch.UniformToFill; item.Tag = skin.SkinId; item.Content = skinImage; SkinSelectListView.Items.Add(item); } } } } }