private void GuiPluginRow(AppodealUnityPlugin plugin) { using (new EditorGUILayout.HorizontalScope(GUILayout.Height(20))) { GUILayout.Space(2); GUILayout.Button(AppodealDependencyUtils.AppodealUnityPlugin, packageInfoStyle, GUILayout.Width(150)); GUILayout.Space(56); GUILayout.Button(AppodealDependencyUtils.ReplaceBetaVersion(AppodealAds.Unity.Api.Appodeal .APPODEAL_PLUGIN_VERSION), packageInfoStyle, GUILayout.Width(110)); GUILayout.Space(85); GUILayout.Button(AppodealDependencyUtils.ReplaceBetaVersion(plugin.version), packageInfoStyle); GUILayout.Space(15); if (AppodealDependencyUtils.CompareVersion( AppodealAds.Unity.Api.Appodeal.APPODEAL_PLUGIN_VERSION, plugin.version) == 0) { GUI.enabled = false; GUILayout.Button(new GUIContent { text = AppodealDependencyUtils.ActionUpdate }, btnFieldWidth); GUI.enabled = true; } else if (AppodealDependencyUtils.CompareVersion( AppodealAds.Unity.Api.Appodeal.APPODEAL_PLUGIN_VERSION, plugin.version) > 0) { GUI.enabled = false; GUILayout.Button(new GUIContent { text = AppodealDependencyUtils.ActionUpdate }, btnFieldWidth); GUI.enabled = true; } else { if (GUILayout.Button(new GUIContent { text = AppodealDependencyUtils.ActionImport }, btnFieldWidth)) { this.StartCoroutine(DownloadUnityPlugin(plugin.source, plugin.version)); } } GUILayout.Space(15); } }
private IEnumerator GetAppodealSDKData() { yield return(null); #region Internal if (AppodealDependencyUtils.GetInternalDependencyPath() != null) { foreach (var fileInfo in AppodealDependencyUtils.GetInternalDependencyPath()) { if (!File.Exists(AppodealDependencyUtils.Network_configs_path + fileInfo.Name)) { AppodealDependencyUtils.ShowInternalErrorDialog(this, $"File doesn't exist - {AppodealDependencyUtils.Network_configs_path + fileInfo.Name}", string.Empty); } else { GetInternalDependencies(AppodealDependencyUtils.Network_configs_path + fileInfo.Name); } } } else { AppodealDependencyUtils.ShowInternalErrorDialog(this, "Can't find internal dependencies.", string.Empty); } #endregion #region Plugin var requestPlugin = UnityWebRequest.Get(AppodealDependencyUtils.PluginRequest); yield return(requestPlugin.Send()); if (requestPlugin.isError) { Debug.LogError(requestPlugin.error); AppodealDependencyUtils.ShowInternalErrorDialog(this, requestPlugin.error, string.Empty); } else { if (string.IsNullOrEmpty(requestPlugin.downloadHandler.text)) { yield break; } if (AppodealAds.Unity.Api.Appodeal.APPODEAL_PLUGIN_VERSION.Contains("-Beta")) { appodealUnityPlugin = JsonHelper.FromJson <AppodealUnityPlugin>(JsonHelper.fixJson(requestPlugin.downloadHandler.text)) .ToList().FirstOrDefault(x => x.build_type.Equals("beta")); } else { appodealUnityPlugin = JsonHelper.FromJson <AppodealUnityPlugin>(JsonHelper.fixJson(requestPlugin.downloadHandler.text)) .ToList().FirstOrDefault(x => x.build_type.Equals("stable")); } } #endregion #region Adapters var requestAdapters = UnityWebRequest.Get(AppodealDependencyUtils.AdaptersRequest + AppodealDependencyUtils.ReplaceBetaVersion(AppodealAds.Unity.Api .Appodeal.APPODEAL_PLUGIN_VERSION)); yield return(requestAdapters.Send()); if (requestAdapters.isError) { Debug.LogError(requestAdapters.error); AppodealDependencyUtils.ShowInternalErrorDialog(this, requestAdapters.error, string.Empty); } else { if (string.IsNullOrEmpty(requestAdapters.downloadHandler.text)) { yield break; } if (requestAdapters.downloadHandler.text.Contains("error")) { AppodealDependencyUtils.ShowInternalErrorDialog(this, $"Can't find network configs by {AppodealAds.Unity.Api.Appodeal.APPODEAL_PLUGIN_VERSION} version", string.Empty); yield break; } var networkDependencies = JsonHelper.FromJson <NetworkDependency>( JsonHelper.fixJson(requestAdapters.downloadHandler.text)); if (networkDependencies.Length > 0) { foreach (var networkDependency in networkDependencies) { if (!string.IsNullOrEmpty(networkDependency.name) && !networkDependency.name.Equals(AppodealDependencyUtils.TwitterMoPub)) { latestDependencies.Add(networkDependency.name, networkDependency); } } } } #endregion coroutine = null; isPluginInfoReady = true; }