internal ProgressInfo(int rpID, QuestType rpResetType, QuestState rpState, int rpProgress, DateTimeOffset rpUpdateTime) { QuestInfo rQuest; if (QuestProgressService.Instance.Infos.TryGetValue(rpID, out rQuest)) { Quest = rQuest; } else { Quest = new QuestInfo(rpID); } r_ResetType = rpResetType; r_State = rpState; r_Progress = rpProgress; UpdateTime = rpUpdateTime; }
public void Register(QuestInfo rpQuest) { if (Trigger is UnknownTrigger) return; if (Trigger.Observable == null) throw null; Trigger.Observable.Subscribe(_ => { if (QuestProgressService.Instance.Progresses == null) return; ProgressInfo rProgressInfo; if (!QuestProgressService.Instance.Progresses.TryGetValue(rpQuest.ID, out rProgressInfo) || rProgressInfo.State != QuestState.Executing) return; Updater.Invoke(rProgressInfo); }); }
internal ProgressInfo(int rpID, QuestType rpResetType, QuestState rpState, int rpProgress, DateTimeOffset rpUpdateTime) { QuestInfo rQuest; if (QuestProgressService.Instance.Infos.TryGetValue(rpID, out rQuest)) Quest = rQuest; else Quest = new QuestInfo(rpID); r_ResetType = rpResetType; r_State = rpState; r_Progress = rpProgress; UpdateTime = rpUpdateTime; }