Пример #1
0
    public static void LoadDataBase(string lang, LanguageDataBase dataBaseVal)
    {
        _loaded = false;
        LanguageDataBase database = null;

//		LanguageContainer lc = (LanguageContainer)GameObject.FindObjectOfType(typeof(LanguageContainer));
//		if(lc != null)
//		{
//			database = lc.GetLanguageDataBase(lang.ToUpper());
        database = dataBaseVal;
//		}
//#if UNITY_EDITOR
//		else
//		{
//			database = ( LanguageDataBase )UnityEditor.AssetDatabase.LoadAssetAtPath("Asset/Data/TextData/LanguageDataBase" + lang.ToUpper() + ".asset",
//		                                                                         typeof(LanguageDataBase));
//		}
//
//#endif
        if (database != null)
        {
            _currentLang = lang;
            LoadDataBase(database);
        }
        else
        {
            TraceUtil.Log(SystemModel.Common, TraceLevel.Error, "multilanguage error: can not find the database!!!!!");
        }
    }
Пример #2
0
 public void InitMap(string[] rows)
 {
     dict.Clear();
     for (int i = 1; i < rows.Length; i++)
     {
         LanguageDataBase dataBase = new LanguageDataBase();
         dataBase.InitWithStr(rows[i]);
         dict.Add(dataBase.id, dataBase);
     }
 }
Пример #3
0
    private static void LoadDataBase(LanguageDataBase database)
    {
        if (_textTable == null)
        {
            _textTable = new Dictionary <string, string>();
        }

        foreach (LanguageTextEntry entry in database.stringTable)
        {
            _textTable[entry.key] = entry.text;
        }
        _loaded = true;
    }
Пример #4
0
    private static void CreateLanguageDataBase(string lang, List <LanguageTextEntry> list)
    {
        string className = typeof(LanguageDataBase).Name;
        string path      = System.IO.Path.Combine(EW_ASSETS_MULTILANGUAGE_FOLDER, className + lang + ".asset");

        if (File.Exists(path))
        {
            LanguageDataBase database = (LanguageDataBase)AssetDatabase.LoadAssetAtPath(path, typeof(LanguageDataBase));

            if (null == database)
            {
                return;
            }
            database.stringTable = new LanguageTextEntry[list.Count];

            for (int i = 0; i < list.Count; i++)
            {
                database.stringTable[i]      = new LanguageTextEntry();
                database.stringTable[i].key  = list[i].key;
                database.stringTable[i].text = list[i].text;
            }
            EditorUtility.SetDirty(database);
        }

        else
        {
            LanguageDataBase database = ScriptableObject.CreateInstance <LanguageDataBase>();

            database.stringTable = new LanguageTextEntry[list.Count];
            for (int i = 0; i < list.Count; i++)
            {
                database.stringTable[i]      = new LanguageTextEntry();
                database.stringTable[i].key  = list[i].key;
                database.stringTable[i].text = list[i].text;
            }
            AssetDatabase.CreateAsset(database, path);
        }
    }