private void UpdateDungeonKeyInterface(List <DungeonKey> currencyList) { for (var currencyRarityValue = 0; currencyRarityValue < currencyList.Count; currencyRarityValue++) { var currencyPanel = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(0, 0, 60, 0), HorizontalAlignment = HorizontalAlignment.Right, Background = new SolidColorBrush(Colors.Transparent) }; var currencyAmountTextBlock = new TextBlock { Name = "Ingot" + currencyRarityValue, FontSize = 18, VerticalAlignment = VerticalAlignment.Center }; var currencyAmountBinding = new Binding("Quantity") { Source = currencyList[currencyRarityValue], StringFormat = "{0} " }; currencyAmountTextBlock.SetBinding(TextBlock.TextProperty, currencyAmountBinding); currencyPanel.Children.Add(currencyAmountTextBlock); currencyPanel.Children.Add(GenerateCurrencyIcon <DungeonKey>(currencyRarityValue)); IngotKeyGrid.Children.Add(currencyPanel); Grid.SetColumn(currencyPanel, 1); Grid.SetRow(currencyPanel, currencyRarityValue); currencyPanel.ToolTip = ItemToolTipHelper.GenerateCurrencyToolTip <DungeonKey>(currencyRarityValue); } }
public void GenerateRewardsInterface() { foreach (var rewardPattern in _quest.QuestRewardPatterns) { var panel = new StackPanel { Orientation = Orientation.Horizontal, HorizontalAlignment = HorizontalAlignment.Center, Margin = new Thickness(0, 0, 0, 5) }; var rewardIcon = new PackIcon { Width = 30, Height = 30, VerticalAlignment = VerticalAlignment.Center }; var rewardText = new TextBlock { FontSize = 22, VerticalAlignment = VerticalAlignment.Center }; ToolTip toolTip = null; SolidColorBrush rewardColor = null; switch (rewardPattern.QuestRewardType) { case RewardType.Material: var material = GameAssets.Materials.FirstOrDefault(x => x.Id == rewardPattern.QuestRewardId); toolTip = ItemToolTipHelper.GenerateItemToolTip(material); rewardIcon.Kind = PackIconKind.Cog; rewardText.Text = $"{rewardPattern.Quantity}x {material.Name}"; rewardColor = ColorsHelper.GetRarityColor(material.Rarity); break; case RewardType.Recipe: var recipe = GameAssets.Recipes.FirstOrDefault(x => x.Id == rewardPattern.QuestRewardId); toolTip = ItemToolTipHelper.GenerateItemToolTip(recipe); rewardIcon.Kind = PackIconKind.ScriptText; rewardText.Text = $"{rewardPattern.Quantity}x {recipe.Name}"; rewardColor = ColorsHelper.GetRarityColor(recipe.Rarity); break; case RewardType.Artifact: var artifact = GameAssets.Artifacts.FirstOrDefault(x => x.Id == rewardPattern.QuestRewardId); toolTip = ItemToolTipHelper.GenerateItemToolTip(artifact); rewardIcon.Kind = PackIconKind.DiamondStone; rewardText.Text = $"{rewardPattern.Quantity}x {artifact.Name}"; rewardColor = ColorsHelper.GetRarityColor(artifact.Rarity); break; case RewardType.Blessing: var blessing = GameAssets.Blessings.FirstOrDefault(x => x.Id == rewardPattern.QuestRewardId); toolTip = ItemToolTipHelper.GenerateBlessingToolTip(blessing); rewardIcon.Kind = PackIconKind.BookCross; rewardText.Text = $"{blessing.Name}"; rewardColor = ColorsHelper.GetRarityColor(blessing.Rarity); break; case RewardType.Ingot: var ingot = GameAssets.Ingots.FirstOrDefault(x => x.Id == rewardPattern.QuestRewardId); toolTip = ItemToolTipHelper.GenerateCurrencyToolTip <Ingot>((int)ingot.Rarity); rewardIcon.Kind = PackIconKind.Gold; rewardText.Text = $"{rewardPattern.Quantity}x {ingot.Name}"; rewardColor = ColorsHelper.GetRarityColor(ingot.Rarity); break; } rewardIcon.Foreground = rewardColor; rewardText.Foreground = rewardColor; panel.Children.Add(rewardIcon); panel.Children.Add(rewardText); panel.ToolTip = toolTip; RewardsPanel.Children.Add(panel); } }