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(); }
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)); }