Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }