/// <summary> /// 加载字典。 /// </summary> /// <param name="dictionaryName">字典名称。</param> /// <param name="dictionaryAssetName">字典资源名称。</param> /// <param name="dictionaryObject">字典对象。</param> /// <param name="userData">用户自定义数据。</param> /// <returns>是否加载成功。</returns> protected override bool LoadDictionary(string dictionaryName, string dictionaryAssetName, object dictionaryObject, object userData) { TextAsset dictionaryTextAsset = dictionaryObject as TextAsset; if (dictionaryTextAsset != null) { if (dictionaryAssetName.EndsWith(BytesAssetExtension, StringComparison.Ordinal)) { return(m_LocalizationManager.ParseDictionary(dictionaryTextAsset.bytes, userData)); } else { return(m_LocalizationManager.ParseDictionary(dictionaryTextAsset.text, userData)); } } byte[] dictionaryBytes = dictionaryObject as byte[]; if (dictionaryBytes != null) { if (dictionaryAssetName.EndsWith(BytesAssetExtension, StringComparison.Ordinal)) { return(m_LocalizationManager.ParseDictionary(dictionaryBytes, userData)); } else { return(m_LocalizationManager.ParseDictionary(Utility.Converter.GetString(dictionaryBytes), userData)); } } Log.Warning("Dictionary object '{0}' is invalid.", dictionaryName); return(false); }
/// <summary> /// 加载字典 /// </summary> /// <param name="dictionaryName">字典名称</param> /// <param name="dictionaryAsset">字典资源</param> /// <param name="loadType">字典加载方式。</param> /// <param name="userData">用户自定义数据</param> /// <returns>加载是否成功</returns> protected override bool LoadDictionary(string dictionaryName, object dictionaryAsset, LoadType loadType, object userData) { TextAsset textAsset = dictionaryAsset as TextAsset; if (textAsset == null) { Log.Warning("[DefaultLocalizationHelper.LoadDictionary] Dictionary asset '{0}' is invalid.", dictionaryName); return(false); } bool retVal = false; switch (loadType) { case LoadType.Text: retVal = m_LocalizationManager.ParseDictionary(textAsset.text, userData); break; case LoadType.Bytes: retVal = m_LocalizationManager.ParseDictionary(textAsset.bytes, userData); break; case LoadType.Stream: using (MemoryStream stream = new MemoryStream(textAsset.bytes, false)) { retVal = m_LocalizationManager.ParseDictionary(stream, userData); } break; default: Log.Warning("[DefaultLocalizationHelper.LoadDictionary] Unknown load type."); break; } if (!retVal) { Log.Warning("[DefaultLocalizationHelper.LoadDictionary] Dictionary asset '{0}' parse failure.", dictionaryName); } return(retVal); }
/// <summary> /// 加载字典。 /// </summary> /// <param name="dictionaryName">字典名称。</param> /// <param name="dictionaryObject">字典对象。</param> /// <param name="loadType">字典加载方式。</param> /// <param name="userData">用户自定义数据。</param> /// <returns>是否加载成功。</returns> protected override bool LoadDictionary(string dictionaryName, object dictionaryObject, LoadType loadType, object userData) { TextAsset dictionaryTextAsset = dictionaryObject as TextAsset; if (dictionaryTextAsset != null) { switch (loadType) { case LoadType.TextFromAsset: return(m_LocalizationManager.ParseDictionary(dictionaryTextAsset.text, userData)); case LoadType.BytesFromAsset: return(m_LocalizationManager.ParseDictionary(dictionaryTextAsset.bytes, userData)); case LoadType.StreamFromAsset: using (MemoryStream stream = new MemoryStream(dictionaryTextAsset.bytes, false)) { return(m_LocalizationManager.ParseDictionary(stream, userData)); } default: Log.Warning("Not supported load type '{0}' for dictionary asset."); return(false); } } byte[] dictionaryBytes = dictionaryObject as byte[]; if (dictionaryBytes != null) { switch (loadType) { case LoadType.TextFromBinary: return(m_LocalizationManager.ParseDictionary(Utility.Converter.GetString(dictionaryBytes), userData)); case LoadType.BytesFromBinary: return(m_LocalizationManager.ParseDictionary(dictionaryBytes, userData)); case LoadType.StreamFromBinary: using (MemoryStream stream = new MemoryStream(dictionaryBytes, false)) { return(m_LocalizationManager.ParseDictionary(stream, userData)); } default: Log.Warning("Not supported load type '{0}' for dictionary binary."); return(false); } } Log.Warning("Dictionary object '{0}' is invalid.", dictionaryName); return(false); }
/// <summary> /// 加载字典。 /// </summary> /// <param name="dictionaryName">字典名称。</param> /// <param name="dictionaryAsset">字典资源。</param> /// <param name="userData">用户自定义数据。</param> /// <returns>加载是否成功。</returns> public override bool LoadDictionary(string dictionaryName, object dictionaryAsset, object userData) { TextAsset textAsset = dictionaryAsset as TextAsset; if (textAsset == null) { Log.Warning("Dictionary asset '{0}' is invalid.", dictionaryName); return(false); } bool retVal = m_LocalizationManager.ParseDictionary(textAsset.text, userData); if (!retVal) { Log.Warning("Dictionary asset '{0}' parse failure.", dictionaryName); } return(retVal); }
/// <summary> /// 解析字典。 /// </summary> /// <param name="text">要解析的字典文本。</param> /// <returns>是否解析字典成功。</returns> public bool ParseDictionary(string text) { return(m_LocalizationManager.ParseDictionary(text)); }
/// <summary> /// 解析字典 /// </summary> /// <param name="text">要解析的字典文本</param> /// <param name="userData">用户自定义数据</param> /// <returns>是否解析字典成功</returns> public bool ParseDictionary(string text, object userData = null) { return(m_LocalizationManager.ParseDictionary(text, userData)); }
/// <summary> /// 解析字典。 /// </summary> /// <param name="dictionaryData">要解析的字典数据。</param> /// <returns>是否解析字典成功。</returns> public bool ParseDictionary(object dictionaryData) { return(m_LocalizationManager.ParseDictionary(dictionaryData)); }