// todo: UnlockedAchievements public AchievementManager(string filePath, IEnumerable<Achievement> achievements) : base(filePath) { Ensure.NotNull(achievements); _achievements = new ReadOnlyArray<Achievement>(achievements.ToArray()); _achievementsByName = _achievements.ToDictionary(achivement => achivement.Name); this.Load(); this.HookAchievementUnlockedEvents(); }
// todo: UnlockedAchievements public AchievementManager(IEnumerable<Achievement> achievements, string achievementSaveFileName) { Ensure.NotNull(achievements); Ensure.NotNullOrWhitespace(achievementSaveFileName); Ensure.IsValidPath(achievementSaveFileName); _achievements = new ReadOnlyArray<Achievement>(achievements.ToArray()); _achievementsByName = _achievements.ToDictionary(achivement => achivement.Name); _achievementSaveFileName = achievementSaveFileName; this.LoadFromFile(); this.HookAchievementUnlockedEvents(); }