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); }
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); } }