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); } }
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; }