private static void DownloadManagerImprovements() { WebClient webClient = new WebClient(); webClient.Headers.Add(HttpRequestHeader.Authorization, NetService.AuthHeader); string downloadedString = webClient.DownloadString(NetService.FullUrl(NetService.kManagerImprovements)); string json = JsonWebToken.Decode(downloadedString, NetService.secretKey); JObject parent = JObject.Parse(json); JToken arr = parent["response"]["data"]; var efficiencyImrpovements = NetService.ParseManagerEfficiencyImprovements(arr); var rollbackImprovements = NetService.ParseManagerRollbackImprovements(arr); var megaImprovement = NetService.ParseMegaManagerImprovement(arr); ManagerImproveJsonData jsonData = new ManagerImproveJsonData { efficiencyImprovements = efficiencyImrpovements, rollbackImprovements = rollbackImprovements, megaImprovement = megaImprovement }; string serializePath = Path.Combine(Application.dataPath, "Resources/Data/manager_improvements.json"); JsonSerializer serializer = new JsonSerializer(); serializer.Formatting = Formatting.Indented; Serialize(serializePath, jsonData); Debug.Log("manager improvements saved...".Colored(ConsoleTextColor.orange).BoldItalic()); EditorUtility.DisplayDialog("Manager improvements loaded", $"data saved to {"Resources/Data/manager_improvements.json"}", "Ok"); }
private IEnumerator GetManagerImprovementsImpl(Action <ManagerImproveData> onSuccess, Action <string> onError) { UnityWebRequest request = UnityWebRequest.Get(FullUrl(kManagerImprovements)); request.SetRequestHeader(authKey, AuthHeader); UnityWebRequestAsyncOperation operation = request.SendWebRequest(); yield return(operation); if (operation.isDone) { if (!operation.webRequest.isHttpError) { try { string result = operation.webRequest.downloadHandler.text; string json = JsonWebToken.Decode(result, secretKey); print(json); JObject parent = JObject.Parse(json); JToken arr = parent["response"]["data"]; var efficiencyImrpovements = ParseManagerEfficiencyImprovements(arr); var rollbackImprovements = ParseManagerRollbackImprovements(arr); var megaImprovement = ParseMegaManagerImprovement(arr); ManagerImproveJsonData jsonData = new ManagerImproveJsonData { efficiencyImprovements = efficiencyImrpovements, rollbackImprovements = rollbackImprovements, megaImprovement = megaImprovement, }; ManagerImproveData improveData = new ManagerImproveData(jsonData); onSuccess?.Invoke(improveData); } catch (Exception exception) { UDebug.LogError(exception.Message.Bold()); UDebug.LogError(exception.StackTrace.Bold()); onError?.Invoke($"{exception.Message}{Environment.NewLine}{exception.StackTrace}"); } } else { UDebug.LogError(operation.webRequest.error); onError?.Invoke(operation.webRequest.error); } } else { UDebug.LogError($"operation {nameof(GetManagerImprovementsImpl)} is not done".Bold()); onError?.Invoke($"operation {nameof(GetManagerImprovementsImpl)} is not done"); } }