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);
}
}