using BaseGames.Core.Events; using QuestStateEnum = BaseGames.Core.Events.QuestState; namespace BaseGames.Quest { /// /// 任务管理器的公开契约。ServiceLocator.Get<IQuestManager>() 获取实例, /// 避免外部代码直接依赖 QuestManager 具体类型。 /// public interface IQuestManager { /// 接取任务(幂等)。 void AcceptQuest(string questId); /// 完成任务并发放奖励。rewardTarget 接收奖励(如玩家)。 void CompleteQuest(string questId, IRewardTarget rewardTarget); /// 返回当前任务状态。未知 questId 返回 Unavailable。 QuestStateEnum GetState(string questId); /// 判断任务是否满足完成条件。 bool IsReadyToComplete(string questId); } }