using BaseGames.Core.Save; namespace BaseGames.Progression { /// /// 成就服务接口。通过 ServiceLocator 注册,供外部系统查询和解锁成就。 /// public interface IAchievementService { /// 使用最新存档数据检查所有未解锁成就的条件。 void EvaluateAll(SaveData save); /// 直接解锁成就(用于剧情触发等无条件解锁场景)。 void UnlockById(string achievementId); /// 查询指定成就是否已解锁。 bool IsUnlocked(string achievementId); /// 获取指定成就的进度(0–1)。 float GetProgress(string achievementId); } }