示例#1
0
        private void UpdateQuest(Quests quests)
        {
            var viewList = quests.All
                           .Select(x => new QuestViewModel(x))
                           .Distinct(x => x.Id)
                           .ToList();

            try
            {             // QuestTracker 어디서 문제가 생길지 모름
                questTracker.AllQuests.ForEach(x =>
                {
                    var y = viewList.Where(z => z.Id == x.Id).FirstOrDefault();
                    if (y == null)
                    {
                        return;
                    }

                    y.QuestProgressValue = x.GetProgress();
                    y.QuestProgressText  = x.GetProgressText();
                });
            }
            catch { }

            this.OriginalQuests = viewList.ToArray();
            this.IsEmpty        = quests.IsEmpty;
            this.IsUntaken      = quests.IsUntaken;

            // Quests 멤버는 필터 적용된걸 get으로 반환해서 문제가 있음
            _badge = OriginalQuests.Count(x => x.QuestProgressValue == 100);
            this.UpdateBadge();
        }
示例#2
0
        private void UpdateQuest(Quests quests)
        {
            var viewList = quests.All
                           .Select(x => new QuestViewModel(x))
                           .Distinct(x => x.TabId)
                           .ToList();

            try
            {             // QuestTracker 어디서 문제가 생길지 모름
                questTracker.AllQuests
                .ForEach(x =>
                {
                    var y = viewList.Where(z => z.Id == x.Id);
                    foreach (var z in y)
                    {
                        z.QuestProgressValue = x.GetProgress();
                        z.QuestProgressText  = x.ProgressText;
                    }
                });
            }
            catch { }

            this.OriginalQuests = viewList.ToArray();

            var tab = CurrentTab;

            if (IsOnAnyTab)
            {
                tab = 0;
            }
            this.IsEmptyTable   = quests.IsEmpty;
            this.IsUntakenTable = quests.IsUntaken;

            // Quests 멤버는 필터 적용된걸 get으로 반환해서 문제가 있음
            _badge = OriginalQuests
                     .Where(x => x.QuestProgressValue == 100)
                     .Distinct(x => x.Id)
                     .Count();

            this.UpdateBadge();
            this.RaisePropertyChanged(nameof(this.Quests));
        }