Inheritance: ModelBase
Exemplo n.º 1
0
        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;
        }