示例#1
0
    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();
    }
示例#2
0
    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;
            }
        }
    }