public virtual void OnCacheConversations() { //HELPER VARABLES string file = Server.SecurePath("~/dialogtemplates/{0}.xml", this.ModelId); if (File.Exists(file)) { using (DialogReader reader = DialogReader.Open(file)) { while (reader.Read()) { if (reader.HasInformation) { //Always uppercase (invariant for globalisation issues) string name = reader.Name.ToUpperInvariant(); if (name == "GOSSIP") { //Gossip is a base function of ours _Gossip = reader.Value; } else { //Parse to all child registered functions for (int i = 0; i < state.RegisteredNpcFunctions.Count; i++) { state.RegisteredNpcFunctions[i].OnCacheDialogInfo(this, reader.Name, reader.Value); } } } } } } }