private void ReloadViewModel() { AchievementsOrdered.Clear(); var achievements = Enumerable.Empty <Achievement>(); if (achievementRepository != null) { achievements = achievementRepository.GetAchievements(); } foreach (var category in achievements.AsCategories()) { var sortedAchievements = category.Achievements .Where(a => IsUnlocked(achievements, a)) .OrderByDescending(a => a.IsCompleted) .ThenByDescending(a => a.DateCompleted) .ThenBy(a => a.Name); AchievementsOrdered.Add(new AchievementsPerCategory(sortedAchievements) { CategoryName = category.CategoryName, }); } }
private void ReloadViewModel() { AchievementsOrdered.Clear(); var achievements = Enumerable.Empty <Achievement>(); if (achievementService != null) { achievements = achievementService.GetAllAchievements(); } foreach (var category in achievements.AsCategories()) { var sortedAchievements = category.Achievements .Where(a => IsUnlocked(achievements, a)) .OrderByDescending(a => a.IsCompleted) .ThenByDescending(a => a.DateCompleted) .ThenBy(a => a.Name); if (sortedAchievements.Any()) { AchievementsOrdered.Add(new AchievementsPerCategory(sortedAchievements) { CategoryName = category.CategoryName, }); } } RaisePropertyChanged(OrderedAchievementsFieldName); RaisePropertyChanged(TotalCompletedFieldName); RaisePropertyChanged(PercentageCompletedFieldName); Messenger.Default.Send(new ResetAchievementsMessage()); }
private void OnSelectedCultureChanged() { var settings = settingsRepository.GetSettings(); settings.PreferredLocale = SelectedCulture.CultureKey; settingsRepository.SaveSettings(settings); var test = CultureInfo.GetCultures(CultureTypes.UserCustomCulture); var test2 = CultureInfo.GetCultures(CultureTypes.ReplacementCultures); if (SelectedCulture.CultureKey == "en") { Resources.Culture = CultureInfo.InvariantCulture; } else { Resources.Culture = CultureInfo.GetCultureInfo(SelectedCulture.CultureKey); } AppResources.Instance.Resources = new Resources(); foreach (var achievement in AchievementsOrdered.SelectMany(x => x)) { achievementService.UpdateLocalization(achievement, Resources.Culture); } ReloadViewModel(); }
private void AchievementContext_AchievementsUnlocked(object sender, AchievementsUnlockedEventArgs args) { foreach (var achievement in args.Achievements) { var category = AchievementsOrdered.FirstOrDefault(c => c.CategoryName == achievement.Category); if (category != null) { category.Update(achievement); } } RaisePropertyChanged(OrderedAchievementsFieldName); RaisePropertyChanged(TotalCompletedFieldName); RaisePropertyChanged(PercentageCompletedFieldName); }
private void AchievementContext_AchievementsUnlocked(object sender, AchievementEventArgs args) { Application.Current.Dispatcher.BeginInvoke(new Action(() => notificationBox.ShowAchievements(args.UnlockedAchievements))); foreach (var achievement in args.UnlockedAchievements) { var currentAchievement = achievement; var category = AchievementsOrdered.FirstOrDefault(c => c.CategoryName == currentAchievement.Category); if (category != null) { category.Update(currentAchievement); } } RaisePropertyChanged(OrderedAchievementsFieldName); RaisePropertyChanged(TotalCompletedFieldName); RaisePropertyChanged(PercentageCompletedFieldName); }