public DialogueHandler dialogueHandler; // The handler of the currently active dialogue public DialogueEntry(DialogueHandler dialogueHandler, XmlDocument xml) { this.dialogueHandler = dialogueHandler; this.displayText = xml.SelectSingleNode("DialogueEntry/DisplayText").InnerText; this.options = new List <DialogueOption>(); XmlNodeList optionsNodes = xml.SelectNodes("DialogueEntry/Options/Option"); foreach (XmlNode node in optionsNodes) { DialogueOption option = new DialogueOption(dialogueHandler, node); XmlNodeList eventsNodes = node.SelectNodes("Events/Event"); foreach (XmlNode eNode in eventsNodes) { option.AddEvent(eNode); } options.Add(option); } }