Files
zeling_v2/Assets/_Game/Scripts/Progression/Achievement/ParryCountCondition.cs
T

23 lines
842 B
C#

using UnityEngine;
using BaseGames.Core.Save;
namespace BaseGames.Progression
{
/// <summary>累计弹反成功次数的成就条件(使用 Stats.ParrySuccess)。</summary>
[CreateAssetMenu(menuName = "BaseGames/Achievement/Condition/ParryCount", fileName = "COND_ParryCount_")]
public class ParryCountCondition : AchievementCondition
{
[Tooltip("需要累计成功弹反的次数")]
[Min(1)] public int requiredCount = 10;
public override bool IsMet(SaveData save)
=> save?.Stats != null && save.Stats.ParrySuccess >= requiredCount;
public override float GetProgress(SaveData save)
{
if (save?.Stats == null || requiredCount <= 0) return 0f;
return UnityEngine.Mathf.Clamp01((float)save.Stats.ParrySuccess / requiredCount);
}
}
}