using UnityEngine; using BaseGames.Core.Save; namespace BaseGames.Progression { /// /// 成就触发条件基类(架构 16_SupportingModules §2.3)。 /// 每个子类对应一种具体触发逻辑,由 AchievementManager 驱动轮询或事件检查。 /// public abstract class AchievementCondition : ScriptableObject { /// 检查条件是否在当前存档数据中已满足。 public abstract bool IsMet(SaveData save); /// 获取当前进度(0-1),用于成就 UI 进度条显示。返回 -1 表示不支持进度。 public virtual float GetProgress(SaveData save) => IsMet(save) ? 1f : 0f; } }