23 lines
842 B
C#
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);
|
|
}
|
|
}
|
|
}
|