private void Serialize() { var anchorsSave = new AnchorsSave(); foreach (var rectTransform in _transforms) { anchorsSave.Anchors.Add(new Anchor(rectTransform.anchorMin, rectTransform.anchorMax)); } JsonSerializator.SerializeClass(anchorsSave, "anchorsSave.json", Application.dataPath); }
private void UnSerialize() { AnchorsSave anchorsSave = JsonSerializator.ReadSerialize <AnchorsSave>("AnchorsSave.json", Application.persistentDataPath); for (int i = 0; i < _transforms.Length; i++) { _transforms[i].anchorMin = anchorsSave.Anchors[i].MinAnchor; _transforms[i].anchorMax = anchorsSave.Anchors[i].MaxAnchor; } }
static void GetInfoCurrentClientJKH() { var response = httpService.GetInfoCurrentClientJKH(buildRequestBase()); Console.WriteLine($"Статус код: {response.StatusCode}"); CurrentUser.SetCurrentUser(new ClientJKH { User = new UserDomainBuilder().Build(response.User), }); Console.WriteLine(JsonSerializator.SerializeByFormatOptions(response)); }
public void UpdateCurrencyRates() { var currencyRatesInDb = _bankService.GetAllBanksWithLatestCurrencyRates(); var currencyRatesStr = _externalApiService.GetResponse("http://resources.finance.ua/ua/public/currency-cash.json"); var currencyRates = JsonSerializator <FinanceUaRates> .Deserialize(currencyRatesStr); foreach (var bank in currencyRatesInDb) { if (bank.Currencies[0].UpdateDate.Date == currencyRates.Date.Date) { continue; } var org = currencyRates.Organizations.FirstOrDefault(b => b.OldId == bank.OldId); if (org?.Currencies.Usd != null && org.Currencies.Eur != null && org.Currencies.Rub != null) { var rates = new Currencies() { UpdateDate = currencyRates.Date, Usd = new Usd() { BuyRate = org.Currencies.Usd.Ask, SellRate = org.Currencies.Usd.Bid }, Eur = new Eur() { BuyRate = org.Currencies.Eur.Ask, SellRate = org.Currencies.Eur.Bid }, Rub = new Rub() { BuyRate = org.Currencies.Rub.Ask, SellRate = org.Currencies.Rub.Bid }, }; bank.Currencies.Add(rates); _bankService.Update(bank); } } }
IEnumerator LoadBundleFromServer(string pathesSaveUrl, Action <AssetBundle> response, Fader fader) { Hash128 hash; while (!Caching.ready) { yield return(null); } if (_downloadedAssets.Contains(pathesSaveUrl)) { fader.StatusText.text = "Data already download, load from cache"; yield break; } var request = UnityWebRequest.Get(pathesSaveUrl); yield return(request.SendWebRequest()); if (request.isNetworkError || request.isHttpError) { AssetBundleSave manifestData; if (File.Exists(_dataPath + "/" + AssetBundleSave.fileName)) { _downloadedAssets.Add(pathesSaveUrl); manifestData = JsonSerializator.ReadSerialize <AssetBundleSave>(AssetBundleSave.fileName, _dataPath); fader.StatusText.text = "Internet connection failed, load last downloaded data"; hash = Hash128.Parse(manifestData?.AssetBundleHash); request = UnityWebRequestAssetBundle.GetAssetBundle( JsonSerializator.ReadSerialize <PathesSave>("pathesSave.json", Application.persistentDataPath) .AssetBundleUrl, hash, 0); yield return(request.SendWebRequest()); response(DownloadHandlerAssetBundle.GetContent(request)); yield break; } else { Debug.Log("Error. Check internet connection!"); var errorPanel = Instantiate(_errorPanel, fader.transform); errorPanel.CreatePanel(delegate { SceneManager.Instance.StopSceneLoad(); SceneManager.Instance.LoadScene("MainMenu", fader); }, "Error. First run requires internet connection", "Main menu"); yield break; } } _downloadedAssets.Add(pathesSaveUrl); fader.StatusText.text = "Loading data from server..."; JsonSerializator.SerializeClass(request.downloadHandler.text, "pathesSave.json", Application.persistentDataPath); var pathesSave = JsonUtility.FromJson <PathesSave>(request.downloadHandler.text); request = UnityWebRequest.Get(pathesSave.AnchorsSaveJsonUrl); yield return(request.SendWebRequest()); JsonSerializator.SerializeClass(request.downloadHandler.text, "anchorsSave.json", Application.persistentDataPath); request = UnityWebRequest.Get(pathesSave.AssetBundleUrl + ".manifest"); yield return(request.SendWebRequest()); var hashRow = request.downloadHandler.text.Split("\n".ToCharArray())[5]; hash = Hash128.Parse(hashRow.Split(':')[1].Trim()); if (hash.isValid) { JsonSerializator.SerializeClass(new AssetBundleSave(hash), AssetBundleSave.fileName, _dataPath); request.Dispose(); request = UnityWebRequestAssetBundle.GetAssetBundle(pathesSave.AssetBundleUrl, hash, 0); yield return(request.SendWebRequest()); if (!request.isHttpError && !request.isNetworkError) { response(DownloadHandlerAssetBundle.GetContent(request)); } else { response(null); } } else { response(null); } request.Dispose(); }