/// <summary> /// Create EN localization from current /// </summary> public void CreateFiles() { m_languages = new LanguagesList(); m_languages.m_languages.Add("EN_en"); m_languages.m_languages.Add("RU_ru"); File.WriteAllText(CLangListPath, JsonUtility.ToJson(m_languages)); if (m_history == null) { m_history = new HistoryLocalization(); } if (m_items == null) { m_items = new ItemsLocalization(); } if (m_ui == null) { m_ui = new UiLocalization(); } foreach (AbstractObject itm in AbstractObject.m_sEverything) { m_items.m_itemList.Add(new LocalizationItem(itm.m_name, itm.m_text)); } m_items.m_itemDictionary = new Dictionary <string, string>(); foreach (LocalizationItem itm in m_items.m_itemList) { m_items.m_itemDictionary.Add(itm.m_name, itm.m_text); } CombinePath(); File.WriteAllText(m_sHistoryFullPath + ".json", JsonUtility.ToJson(m_history)); File.WriteAllText(m_sItemsFullPath + ".json", JsonUtility.ToJson(m_items)); File.WriteAllText(m_sUiFullPath + ".json", JsonUtility.ToJson(m_ui)); }
/// <summary> /// Load current localization /// Part of ISerializationCallbackReceiver /// </summary> public void Load() { try { #if UNITY_WEBGL || UNITY_ANDROID var ms = Camera.main.GetComponent <MainScript>(); var networking = ms.m_networking; string loc = SCurrentLocalization.m_languages.m_languages[SCurrentLocalization.m_currentLanguage]; networking.GetLocalization(loc, 1, delegate(string answerUi) { m_ui = JsonUtility.FromJson <UiLocalization>(NetworkManager.ByteToJson(answerUi)); }); networking.GetLocalization(loc, 2, delegate(string answerItm) { m_items = new ItemsLocalization(); m_items = JsonUtility.FromJson <ItemsLocalization>(NetworkManager.ByteToJson(answerItm)); if (m_items?.m_itemList != null) { FillItemDictionary(); } }); networking.GetLocalization(loc, 3, delegate(string answerHis) { m_history = JsonUtility.FromJson <HistoryLocalization>(NetworkManager.ByteToJson(answerHis)); m_onLanguageChanged?.Invoke(); }); #else Console.WriteLine("UnityWebGL does not works"); var hisAss = Resources.Load <TextAsset>(m_sHistoryFullPath); m_history = JsonUtility.FromJson <HistoryLocalization>(hisAss.text); var itmAss = Resources.Load <TextAsset>(m_sItemsFullPath); m_items = JsonUtility.FromJson <ItemsLocalization>(itmAss.text); FillItemDictionary(); var uiAss = Resources.Load <TextAsset>(m_sUiFullPath); m_ui = JsonUtility.FromJson <UiLocalization>(uiAss.text); #endif } catch (Exception ex) { Debug.Log(ex); } }