示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }
示例#4
0
        /// <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);
        }
示例#5
0
 /// <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));
 }