Esempio n. 1
0
        public override void InitializeRecursive(Screen screen)
        {
            group = screen.AdvancementTracker.Group(GroupName);
            if (group != null)
            {
                foreach (var advancement in group.Advancements)
                {
                    if (advancement.Value.Hidden)
                    {
                        continue;
                    }

                    var temp = new UIAdvancement();
                    temp.AdvancementName = advancement.Key;
                    AddControl(temp);
                }
            }
            base.InitializeRecursive(screen);
        }
Esempio n. 2
0
        protected override void ParseReferences()
        {
            FullAdvancementList = new Dictionary <string, Advancement>();
            FullCriteriaList    = new Dictionary <string, Criterion>();
            GroupList           = new Dictionary <string, AdvancementGroup>();

            //skip loading if this version is before achievements were changed to advancements
            if (VersionMismatch())
            {
                return;
            }

            //load list of advancements to track
            try
            {
                foreach (string file in Paths.AdvancementFiles)
                {
                    var document = new XmlDocument();
                    using (var stream = File.OpenRead(file))
                    {
                        document.Load(stream);
                        var group = new AdvancementGroup(document);
                        GroupList[Path.GetFileNameWithoutExtension(file)] = group;

                        //iterate groups for individual advancements
                        foreach (var advancement in group.Advancements)
                        {
                            FullAdvancementList[advancement.Key] = advancement.Value;

                            //add sub-criteria
                            foreach (var criterion in advancement.Value.Criteria)
                            {
                                FullCriteriaList[criterion.Key] = criterion.Value;
                            }
                        }
                    }
                }
                AdvancementCount = FullAdvancementList.Count;
            }
            catch { Main.ForceQuit(this); }
        }