示例#1
0
    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();
            }
        }
    }
示例#3
0
 public void IncreaseAchievementValue(NumericAchievementType achievementType, long value)
 {
     NumericAchievementCollection[achievementType] += value;
     AchievementsWindow.Instance.RefreshSingleAchievement(achievementType);
 }