private void DefinitionsThreadStart() { if (WrenCore.IsOffline) return; var settings = _settingsManager.LoadSettings<AchievementSettings>(EmulationContext.Empty); var newDefinitions = _achievementsService.GetAchievementDefinitions(settings.DefinitionsLastSynchronized); try { foreach (var dto in newDefinitions.Definitions) { AchievementDefinition ad = new AchievementDefinition() { Code = dto.Code, Id = dto.Id, Description = dto.Description, LockedImageUrl = dto.LockedImageUrl, LongDisplayFormat = dto.LongDisplayFormat, RomMd5 = dto.RomMd5, ShortDisplayFormat = dto.ShortDisplayFormat, UnlockedImageUrl = dto.UnlockedImageUrl, Title = dto.Title }; _persistenceManager.Save(ad.Id, AchievementsModule.AchievementsPersistenceProviderKey, ad); } } catch (Exception ex) { throw new ApplicationException("There was an error updating local achievement definition database.", ex); } settings.DefinitionsLastSynchronized = newDefinitions.UpdateTimestamp; _settingsManager.ApplySettings(settings); }
public Achievement(AchievementDefinition definition, AchievementState state) { _definition = definition; _state = state; }