using UnityEngine; using BaseGames.Core.Save; namespace BaseGames.Progression { /// 累计弹反成功次数的成就条件(使用 Stats.ParrySuccess)。 [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); } } }