/// <summary> /// Creates a language event for this loader. /// </summary> internal LanguageEvent CreateEvent(string type) { LanguageEvent e = new LanguageEvent(type); e.loader = this; return(e); }
/// <summary>Loads a standard group by name.</summary> /// <param name="groupName">The name of the group.</param> public void getGroup(string groupName, LanguageEventDelegate groupReady) { // Already available? LanguageGroup group; if (Groups.TryGetValue(groupName, out group)) { // Create event: LanguageEvent e = Loader.CreateEvent("languagegroupready"); e.language = this; e.group = group; // Callback: groupReady(e); } else { // Must now load its contents. string path = Loader.Path; if (groupName != "") { path += groupName.Replace('.', '/') + "/"; } Loader.LoadFile(path + code + ".xml", delegate(string fileText){ // Create event: LanguageEvent e = Loader.CreateEvent("languagegroupready"); e.language = this; if (fileText != null) { e.group = addGroup(groupName, fileText); } // Callback: groupReady(e); }); } }