Example #1
0
        private void LoadGameData()
        {
            string filePath = EditorUtility.OpenFilePanel("Select localization data file", Application.streamingAssetsPath, "json");

            if (!string.IsNullOrEmpty(filePath))
            {
                string dataAsJson = File.ReadAllText(filePath);

                localizationData = JsonUtility.FromJson <LocalizationData> (dataAsJson);
            }
        }
Example #2
0
 private void CreateNewData()
 {
     localizationData = new LocalizationData();
 }
        IEnumerator LoadSettings()
        {
            //Если файл есть
            if (File.Exists(m_FilePath))
            {
                //Если путь URL (Андройд)
                string dataAsJson = "";
                if (m_FilePath.Contains("://"))
                {
                    WWW www = new WWW(m_FilePath);
                    yield return(www);

                    if (string.IsNullOrEmpty(www.error))
                    {
                        dataAsJson = www.text;
                    }
                }
                else
                {
                    dataAsJson = File.ReadAllText(m_FilePath);
                }

                //Заполняем настройки загруженными данными
                m_Settings = JsonUtility.FromJson <SettingsData> (dataAsJson);
            }
            else
            {
                //Сериализуем настройки по умолчанию в текст
                string dataAsJson = JsonUtility.ToJson(m_Settings);
                //Создаем или перезаписываем файл
                File.WriteAllText(m_FilePath, dataAsJson);
            }

            //Создаем словарь и путь к файлу перевода
            m_LocalizedText = new Dictionary <string, string> ();
            string filePath = Path.Combine(Application.streamingAssetsPath, m_Settings.m_Language);

            if (File.Exists(filePath))
            {
                //Если путь URL (Андройд)
                string dataAsJson = "";
                if (filePath.Contains("://"))
                {
                    WWW www = new WWW(filePath);
                    yield return(www);

                    if (string.IsNullOrEmpty(www.error))
                    {
                        dataAsJson = www.text;
                    }
                }
                else
                {
                    dataAsJson = File.ReadAllText(filePath);
                }

                //Десериализуем данные
                LocalizationData loadedData = JsonUtility.FromJson <LocalizationData> (dataAsJson);

                //Заполняем словарь
                for (int i = 0; i < loadedData.items.Length; i++)
                {
                    m_LocalizedText.Add(loadedData.items [i].key, loadedData.items [i].value);
                }

                Debug.Log("Data loaded, dictionary contains: " + m_LocalizedText.Count + " entries");
            }
            else
            {
                Debug.LogError("Cannot find file!");
            }

            m_IsReady = true;
        }