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