public override void AddAchievementProgress(int amount = 1) { NumericAchievementType achievementType = 0; // Increase achievement amount. switch (Rarity) { case Rarity.General: achievementType = NumericAchievementType.GeneralArtifactsGained; break; case Rarity.Fine: achievementType = NumericAchievementType.FineArtifactsGained; break; case Rarity.Superior: achievementType = NumericAchievementType.SuperiorArtifactsGained; break; case Rarity.Exceptional: achievementType = NumericAchievementType.ExceptionalArtifactsGained; break; case Rarity.Mythic: achievementType = NumericAchievementType.MythicArtifactsGained; break; case Rarity.Masterwork: achievementType = NumericAchievementType.MasterworkArtifactsGained; break; } User.Instance.Achievements.IncreaseAchievementValue(achievementType, amount); }
public void RefreshSingleAchievement(NumericAchievementType achievementType) { var achievements = User.Instance.Achievements; var achievementBorder = AchievementsList.Children.OfType <Border>().FirstOrDefault(x => x.Name == achievementType + "Border"); if (achievementBorder != null) { var achievementAmountBlock = (achievementBorder.Child as Grid)?.Children.OfType <TextBlock>().FirstOrDefault(x => x.Name == achievementType + "Amount"); if (achievementAmountBlock != null) { achievementAmountBlock.Text = achievements.NumericAchievementCollection[achievementType].ToString(); } } }
public void IncreaseAchievementValue(NumericAchievementType achievementType, long value) { NumericAchievementCollection[achievementType] += value; AchievementsWindow.Instance.RefreshSingleAchievement(achievementType); }