private IEnumerator GetVersions() { UnityWebRequest unityWebRequest = UnityWebRequest.Get(jsonURL); var webRequest = unityWebRequest.SendWebRequest(); while (!webRequest.isDone) { yield return(new WaitForSeconds(0.1f)); } if (!unityWebRequest.isHttpError && !unityWebRequest.isNetworkError) { string json = unityWebRequest.downloadHandler.text; providersSet.Clear(); ironSourceProviderInfo = new providerInfo(); Dictionary <string, object> dic = new Dictionary <string, object>(); try { dic = Json.Deserialize(json) as Dictionary <string, object>; } catch (Exception e) { Debug.Log("Error getting response " + e.ToString()); } if (dic != null && dic.Count != 0) { object providersJson; if (dic.TryGetValue("SDKSInfo", out providersJson)) { if (providersJson != null) { foreach (var item in providersJson as Dictionary <string, object> ) { providerInfo info = new providerInfo(); if (info.GetFromJson(item.Key, item.Value as Dictionary <string, object>)) { if (item.Key.ToLower().Contains("ironsource")) { ironSourceProviderInfo = info; } else { providersSet.Add(info); } } } } } if (dic.TryGetValue("Message", out providersJson)) { messageData = providersJson.ToString(); } } } Repaint(); }
void DrawProviderItem(providerInfo providerData) { if (!providerData.Equals(default(providerInfo))) { using (new EditorGUILayout.HorizontalScope(GUILayout.ExpandWidth(false))) { GUI.enabled = true; bool isNew = providerData.isNewProvider; string isNewAddition = isNew ? " - New Network" : string.Empty; string androidVersion = ""; string iosVersion = ""; string tooltipText = "Latest Version: \n " + providerData.providerName + " Adapter Version " + providerData.latestUnityVersion; if (!providerData.sdkVersionDic.TryGetValue(Android, out androidVersion)) { androidVersion = ""; } else { tooltipText = tooltipText + "\n Android SDK version " + androidVersion; } if (!providerData.sdkVersionDic.TryGetValue(iOS, out iosVersion)) { iosVersion = ""; } else { tooltipText = tooltipText + "\n iOS SDK version " + iosVersion; } EditorGUILayout.LabelField(providerData.displayProviderName + isNewAddition, isNew ? boldTextStyle : textStyle);//, isNew ? new GUIStyle { fontStyle = FontStyle.Bold, } : new GUIStyle()); EditorGUILayout.LabelField(providerData.currentUnityVersion, textStyle); EditorGUILayout.LabelField(providerData.latestUnityVersion, textStyle); if (providerData.currentStatues == providerInfo.Status.none) { bool btn = GUILayout.Button(new GUIContent { text = "Install", tooltip = tooltipText }, buttonWidth); if (btn && downloadWebClient == null) { GUI.enabled = true; IronSourceEditorCoroutines.StartEditorCoroutine(DownloadFile(providerData.downloadURL, providerData.fileName)); } } else if (providerData.currentStatues == providerInfo.Status.installed) { var btn = GUILayout.Button(new GUIContent { text = "Update", tooltip = tooltipText } , buttonWidth); if (btn && downloadWebClient == null) { GUI.enabled = true; IronSourceEditorCoroutines.StartEditorCoroutine(DownloadFile(providerData.downloadURL, providerData.fileName)); } } else { GUI.enabled = false; GUILayout.Button(new GUIContent { text = "Updated", tooltip = tooltipText }, buttonWidth); } GUILayout.Space(5); GUI.enabled = true; } } }