private List<NPCPage> ParsePages(IList<string> lines, string key = MainKey)
{
List<NPCPage> pages = new List<NPCPage>();
List<string> buttons = new List<string>();
NPCPage page = ParsePage(lines, key);
pages.Add(page);
buttons.AddRange(page.Buttons);
for (int i = 0; i < buttons.Count; i++)
{
string section = buttons[i];
bool match = pages.Any(t => t.Key.ToUpper() == section.ToUpper());
if (match) continue;
page = ParsePage(lines, section);
buttons.AddRange(page.Buttons);
pages.Add(page);
}
return pages;
}