protected override void LoadSaves(string key, System.Action <Dictionary <string, object>, System.Exception> complete) { StringBuilder sb = new StringBuilder(); using (StreamReader sr = new StreamReader(GetFileByName(key).ToString())) { String line; while ((line = sr.ReadLine()) != null) { sb.AppendLine(line); } sr.Close(); } string allines = sb.ToString(); if (complete != null) { if (string.IsNullOrEmpty(allines)) { complete(null, null); } else { complete(JSONUtuls.Deserialize(allines), null); } } }
protected override void LoadSaves(string key, Action <Dictionary <string, object>, Exception> complete) { StringBuilder sb = new StringBuilder(); string allLines = null; //GetFileByName(key).Open(FileMode.OpenOrCreate); using (BinaryReader br = new BinaryReader((GetFileByName(key).Open(FileMode.OpenOrCreate)))) { if (br.BaseStream.Length > 0) { allLines = br.ReadString(); br.ReadInt32(); } } if (complete != null) { if (string.IsNullOrEmpty(allLines)) { complete(null, null); } else { complete(JSONUtuls.Deserialize(allLines), null); } } }
public static Dictionary <string, Dictionary <string, string> > Import(GoogleSpreadsheetDocumentPageDBEntry page) { ServicePointManager.ServerCertificateValidationCallback += allowCertificate; string docFormat = "csv"; string gDocsDownloadURL = "http://spreadsheets.google.com/feeds/download/spreadsheets/Export?key={0}&gid={1}&exportFormat={2}"; string downloadUrl = string.Format(gDocsDownloadURL, page.document.documentId, page.pageId, docFormat); Debug.Log(downloadUrl); HttpWebRequest aRequest = (HttpWebRequest)WebRequest.Create(downloadUrl); HttpWebResponse aResponse = (HttpWebResponse)aRequest.GetResponse(); WebHeaderCollection header = aResponse.Headers; var encoding = ASCIIEncoding.UTF8; var parsedPage = new Dictionary <string, Dictionary <string, string> >(); using (var reader = new StreamReader(aResponse.GetResponseStream(), encoding)) { string localizationsString = reader.ReadToEnd(); var stringRows = localizationsString.Split('\r', '\n'); Debug.Log(localizationsString); Debug.Log(stringRows.ToPlainString()); string[] keyColumns = null; for (int r = 0; r < stringRows.Length; r++) { var row = stringRows[r]; var stringCols = row.Split(','); if (r == 0) { keyColumns = stringCols; Debug.Log(keyColumns.ToPlainString()); for (int l = 1; l < keyColumns.Length; l++) { var lang = keyColumns[l]; if (!string.IsNullOrEmpty(lang)) { parsedPage.AddOrSet(lang, new Dictionary <string, string>()); } } } else { for (int c = 1; c < stringCols.Length; c++) { parsedPage[keyColumns[c]].AddOrSet(stringCols[0], stringCols[c]); } } } } ServicePointManager.ServerCertificateValidationCallback -= allowCertificate; Debug.Log(JSONUtuls.Serialize(parsedPage)); return(parsedPage); }
public T LoadISavable <T>(string key, T savable) where T : ISaveble { string json = LoadString(key); var hash = JSONUtuls.Deserialize(json); savable.FromJSON(hash); return(savable); }
public static Dictionary <string, object> GetDataNode(string key) { CheckLoading(); return(_playerPrefsLocalData.ContainsKey(key) ? _playerPrefsLocalData[key] is string ?JSONUtuls.Deserialize(_playerPrefsLocalData[key].ToString()) : (Dictionary <string, object>)_playerPrefsLocalData[key] : new Dictionary <string, object>()); }
void OnApplicationQuit() { if (_saveOnQuit) { if (_saveData != null) { _currentMethod.Save(_saveKey, JSONUtuls.Serialize(_saveData), (b, e) => { }); } else { Debug.Log("Nothing to save"); } } }
private void StoreLocalization(Dictionary <string, Dictionary <string, string> > localization) { foreach (KeyValuePair <string, Dictionary <string, string> > kvp in localization) { var lang = DB.Get <LanguageItem>(kvp.Key); if (lang == null) { lang = AssetDBUtils.CreateScriptableObject <LanguageItem>(PathUtils.Combine("Assets", "Localization", "Resources", "Languages"), kvp.Key); } var json = JSONUtuls.Serialize(kvp.Value).DecodeEncodedNonAscii(); FileUtils.SaveTextToFile(PathUtils.Combine(Application.dataPath, "Localization", "Resources", "Languages", kvp.Key + "@text.txt"), json); } Debug.Log(JSONUtuls.Serialize(localization).DecodeEncodedNonAscii()); }
private static void CheckLoading() { if (_playerPrefsLocalData == null) { var settingsJson = PlayerPrefs.GetString(editorSettingsKey); if (string.IsNullOrEmpty(settingsJson)) { _playerPrefsLocalData = new Dictionary <string, object>(); } else { _playerPrefsLocalData = JSONUtuls.Deserialize(settingsJson); } } }
private static void CheckLoading() { if (_editorSettingsData == null || _editorSettingsData.Count == 0) { var settingsJson = EditorPrefs.GetString(editorSettingsKey); if (string.IsNullOrEmpty(settingsJson)) { _editorSettingsData = new Dictionary <string, object>(); } else { var deserialized = JSONUtuls.Deserialize(settingsJson); if (deserialized != null) { _editorSettingsData.AddOrSetRange(deserialized); } } } }
private static void Init() { if (!_inited) { _settingsDBEntry = DB.Get <LocalizationSettingsDBEntry>(); _defaultLanguage = DB.Get <LanguageItem>(_defaultSystemLanguage.ToString()); var localizationSettingsData = PlayerPrefsLocalData.GetDataNode(LOCALIZATION_SETTINGS_KEY); _settings = JSONUtuls.Deserialize <Settings>(localizationSettingsData); if (_settings == null) { _settings = new Settings(); } if (string.IsNullOrEmpty(_settings.savedLanguage)) { ChangeLanguage(_currentSystemLanguage.ToString()); } else { var savedLanguage = DB.Get <LanguageItem>(_settings.savedLanguage); if (savedLanguage != null) { ChangeLanguage(savedLanguage); } else { Debug.LogWarning(string.Format("Language not found: {0}", _settings.savedLanguage)); } } _inited = true; } }
public static void Save() { PlayerPrefs.SetString(editorSettingsKey, JSONUtuls.Serialize(_playerPrefsLocalData)); }
public static void Save() { EditorPrefs.SetString(editorSettingsKey, JSONUtuls.Serialize(_editorSettingsData)); }
public static T Get <T>(string key) where T : IJsonDeserializable { var node = GetDataNode(key); return(JSONUtuls.Deserialize <T>(node)); }