/// <summary> /// /// </summary> /// <param name="strResourceName"></param> /// <returns></returns> public SetStringEventHandler GetHandler(string strResourceName) { SetStringEventHandler strHandler = null; m_Handlers.TryGetValue(strResourceName, out strHandler); return(strHandler); }
/// <summary> /// /// </summary> /// <param name="strResourceName"></param> /// <param name="onPacketReceive"></param> public void Register( string strResourceName, SetStringEventHandler onPacketReceive ) { m_Handlers.Add( strResourceName, onPacketReceive ); }
/// <summary> /// /// </summary> public static void LoadLanguageFile(Assembly assembly, ref LanguageString globalString) { // 以下是读取XML文件内的语言信息 const string LANGUAGE_VERSION = "0.0.1.0"; if (assembly == null) { return; } string lngFile = Path.ChangeExtension(assembly.Location, ".lng"); if (lngFile == string.Empty) { return; } if (File.Exists(lngFile) == false) { return; } XDocument languageXML = null; try { languageXML = XDocument.Load(lngFile); } catch (Exception) { Debug.WriteLine("Language.SetLanguageString(...) - XDocument.Load(...) throw Exception!"); return; } XElement elementRoot = languageXML.Element((XName)"Mmose.Language"); if (elementRoot == null) { return; } XAttribute attributeVersion = elementRoot.Attribute((XName)"Version"); if (attributeVersion == null) { return; } if (attributeVersion.Value != LANGUAGE_VERSION) { return; } XAttribute attributeLanguage = elementRoot.Attribute((XName)"Language"); if (attributeLanguage == null) { return; } // 设置语言信息 globalString.CultureInfo = new CultureInfo(attributeLanguage.Value, false); var stringInfo = from languageInfo in elementRoot.Elements((XName)"String") select languageInfo; if (stringInfo == null) { return; } // 初始化处理函数的接口 InitSetStringHandler(); foreach (XElement itemString in stringInfo) { XAttribute attributeName = itemString.Attribute((XName)"Name"); if (attributeName == null) { continue; } XAttribute attributeValue = itemString.Attribute((XName)"Value"); if (attributeValue == null) { continue; } SetStringEventHandler strHandler = s_SetStringHandler.GetHandler(attributeName.Value); if (strHandler == null) { continue; } strHandler(globalString, attributeValue.Value); } }
/// <summary> /// /// </summary> /// <param name="strResourceName"></param> /// <param name="onPacketReceive"></param> public void Register(string strResourceName, SetStringEventHandler onPacketReceive) { m_Handlers.Add(strResourceName, onPacketReceive); }