public void ResetAchievement(AchievementCard card) { achievementList.Remove(card); AchievementCard newCard = (AchievementCard)Activator.CreateInstance(card.def.achievementClass, new object[] { card.def, false }); achievementList.Add(newCard); achievementLookup = AchievementGenerator.GenerateAchievementLinks(achievementList); typeToKey.Clear(); tickerAchievements.Clear(); }
private void PreInit(bool debug = false) { if (achievementLookup is null) { achievementLookup = new Dictionary <string, HashSet <AchievementCard> >(); } if (achievementList is null) { achievementList = new HashSet <AchievementCard>(); } if (unlockedCards is null) { unlockedCards = new Stack <AchievementCard>(); } if (!UtilityMethods.BaseModActive) { return; } DebugWriter.ResetRootDir(); if (debug) { DebugWriter.Log($"Resetting AchievementLinks"); } achievementLookup = AchievementGenerator.GenerateAchievementLinks(achievementList); typeToKey.Clear(); tickerAchievements.Clear(); if (debug) { DebugWriter.Log($"Verifying Achievement List"); } AchievementGenerator.VerifyAchievementList(ref achievementList, debug); CheckUnlocks(); }