private static void SetGameSettings(GuidanceCloudInfo guidanceCloudInfoDict, JToken res) { try { if (!(res[(object)"game_settings"] is JArray re)) { return; } foreach (JToken jtoken1 in re) { try { GameSetting gameSetting = new GameSetting() { SettingType = jtoken1[(object)"setting_type"].Value <string>() }; if (jtoken1[(object)"setting_data"] is JArray jarray) { foreach (JToken jtoken2 in jarray) { Dictionary <string, object> dictionary = new Dictionary <string, object>(); if (jtoken2[(object)"app_pkg_list"] is JArray jarray) { dictionary.Add("app_pkg_list", (object)new AppPackageListObject(jarray.ToObject <List <string> >())); } switch (gameSetting.SettingType) { case "OrientationMode": dictionary.Add("mode", (object)jtoken2[(object)"mode"].Value <string>()); gameSetting.SettingsData.Add(dictionary); continue; case "ApplyCfgUpdateImmediately": dictionary.Add("setting", (object)jtoken2[(object)"setting"].Value <string>()); gameSetting.SettingsData.Add(dictionary); continue; default: continue; } } guidanceCloudInfoDict.GameSettings.Add(gameSetting); } } catch (Exception ex) { Logger.Warning("Error while loading game settings from cloud data " + ex?.ToString()); } } } catch (Exception ex) { Logger.Warning("Error while loading game settings from cloud data " + ex?.ToString()); } }
private static void SetAppsReadArticle( GuidanceCloudInfo currentAppsGuidanceCloudInfo, JToken res) { try { foreach (object obj in JArray.Parse(res.GetValue("help_article").ToString((IFormatProvider)CultureInfo.InvariantCulture))) { HelpArticle helpArticle = JsonConvert.DeserializeObject <HelpArticle>(obj.ToString(), Utils.GetSerializerSettings()); currentAppsGuidanceCloudInfo.HelpArticles[helpArticle.Package] = helpArticle; } } catch (Exception ex) { Logger.Warning("Error Loading Apps ReadArticle" + ex.ToString()); } }
private static void SaveToFile(GuidanceCloudInfo guidanceCloudInfo) { try { JsonSerializerSettings serializerSettings = Utils.GetSerializerSettings(); serializerSettings.Formatting = Formatting.Indented; string contents = JsonConvert.SerializeObject((object)guidanceCloudInfo, serializerSettings); if (!Directory.Exists(RegistryStrings.PromotionDirectory)) { Directory.CreateDirectory(RegistryStrings.PromotionDirectory); } File.WriteAllText(GuidanceCloudInfoManager.BstGuidanceFilePath, contents); } catch (Exception ex) { Logger.Warning("Error in saving GuidanceCloudInfo to file"); } }
private static void SetAppsVideoThumbnail( GuidanceCloudInfo currentAppsGuidanceCloudInfo, JToken res) { try { foreach (object obj in JArray.Parse(res.GetValue("custom_thumbnails").ToString((IFormatProvider)CultureInfo.InvariantCulture))) { CustomThumbnail customThumbnail = JsonConvert.DeserializeObject <CustomThumbnail>(obj.ToString(), Utils.GetSerializerSettings()); foreach (GuidanceVideoType guidanceVideoType in Enum.GetValues(typeof(GuidanceVideoType))) { if (guidanceVideoType == GuidanceVideoType.SchemeSpecific) { foreach (KeyValuePair <string, VideoThumbnailInfo> keyValuePair in (Dictionary <string, VideoThumbnailInfo>)customThumbnail[guidanceVideoType.ToString()]) { VideoThumbnailInfo videoThumbnailInfo = keyValuePair.Value; videoThumbnailInfo.ThumbnailType = guidanceVideoType; videoThumbnailInfo.ImagePath = Utils.TinyDownloader(videoThumbnailInfo.ThumbnailUrl, "VideoThumbnail_" + customThumbnail.Package + videoThumbnailInfo.ThumbnailId, RegistryStrings.PromotionDirectory, false); } } else if (customThumbnail[guidanceVideoType.ToString()] != null) { VideoThumbnailInfo videoThumbnailInfo = (VideoThumbnailInfo)customThumbnail[guidanceVideoType.ToString()]; videoThumbnailInfo.ThumbnailType = guidanceVideoType; videoThumbnailInfo.ImagePath = Utils.TinyDownloader(videoThumbnailInfo.ThumbnailUrl, "VideoThumbnail_" + customThumbnail.Package + videoThumbnailInfo.ThumbnailId, RegistryStrings.PromotionDirectory, false); } } currentAppsGuidanceCloudInfo.CustomThumbnails[customThumbnail.Package] = customThumbnail; } foreach (object obj in JArray.Parse(res.GetValue("default_thumbnails").ToString((IFormatProvider)CultureInfo.InvariantCulture))) { VideoThumbnailInfo videoThumbnailInfo = JsonConvert.DeserializeObject <VideoThumbnailInfo>(obj.ToString(), Utils.GetSerializerSettings()); videoThumbnailInfo.ImagePath = Utils.TinyDownloader(videoThumbnailInfo.ThumbnailUrl, "VideoThumbnail_DefaultPackage_" + videoThumbnailInfo.ThumbnailId, RegistryStrings.PromotionDirectory, false); currentAppsGuidanceCloudInfo.DefaultThumbnails[videoThumbnailInfo.ThumbnailType] = videoThumbnailInfo; } } catch (Exception ex) { Logger.Warning("Error Loading Apps VideoThumbnail" + ex.ToString()); } }
internal void AppsGuidanceCloudInfoRefresh() { new Thread((ThreadStart)(() => { if (File.Exists(GuidanceCloudInfoManager.BstGuidanceFilePath)) { this.mGuidanceCloudInfo = JsonConvert.DeserializeObject <GuidanceCloudInfo>(File.ReadAllText(GuidanceCloudInfoManager.BstGuidanceFilePath), Utils.GetSerializerSettings()); } JToken guidanceCloudInfoData = GuidanceCloudInfoManager.GetGuidanceCloudInfoData(); if (guidanceCloudInfoData == null) { return; } GuidanceCloudInfo guidanceCloudInfo = new GuidanceCloudInfo(); GuidanceCloudInfoManager.SetAppsVideoThumbnail(guidanceCloudInfo, guidanceCloudInfoData); GuidanceCloudInfoManager.SetAppsReadArticle(guidanceCloudInfo, guidanceCloudInfoData); GuidanceCloudInfoManager.SetGameSettings(guidanceCloudInfo, guidanceCloudInfoData); GuidanceCloudInfoManager.SaveToFile(guidanceCloudInfo); this.mGuidanceCloudInfo = guidanceCloudInfo; })) { IsBackground = true }.Start(); }