コード例 #1
0
    IEnumerator GetUrlList()
    {
        var args = string.Format("package={0}&app_version={1}&res_version={2}&notice_version={3}", ChannelManager.instance.packageName, ChannelManager.instance.appVersion, clientResVersion, ChannelManager.instance.noticeVersion);

        bool GetUrlListComplete = false;
        WWW  www = null;

        SimpleHttp.HttpPost(Setting.START_UP_URL, null, DataUtils.StringToBytes(args), (WWW wwwInfo) => {
            www = wwwInfo;
            GetUrlListComplete = true;
        });
        yield return(new WaitUntil(() =>
        {
            return GetUrlListComplete;
        }));

        if (www == null || !string.IsNullOrEmpty(www.error) || www.bytes == null || www.bytes.Length == 0)
        {
            Logger.LogError("Get url list for args {0} with err : {1}", args, www == null ? "www null" : (!string.IsNullOrEmpty(www.error) ? www.error : "bytes length 0"));
            yield return(GetUrlList());
        }

        var urlList = (Dictionary <string, object>)MiniJSON.Json.Deserialize(DataUtils.BytesToString(www.bytes));

        if (urlList == null)
        {
            Logger.LogError("Get url list for args {0} with err : {1}", args, "Deserialize url list null!");
            yield return(GetUrlList());
        }

        if (urlList.ContainsKey("serverlist"))
        {
            Setting.SERVER_LIST_URL = urlList["serverlist"].ToString();
        }
        if (urlList.ContainsKey("verifying"))
        {
            Setting.LOGIN_URL = urlList["verifying"].ToString();
        }
        if (urlList.ContainsKey("logserver"))
        {
            Setting.REPORT_ERROR_URL = urlList["logserver"].ToString();
        }
        if (urlList.ContainsKey("res_version") && !string.IsNullOrEmpty(urlList["res_version"].ToString()))
        {
            serverResVersion = urlList["res_version"].ToString();
        }
        if (urlList.ContainsKey("notice_version") && !string.IsNullOrEmpty(urlList["notice_version"].ToString()))
        {
            ChannelManager.instance.noticeVersion = urlList["notice_version"].ToString();
            GameUtility.SafeWriteAllText(noticeVersionPath, ChannelManager.instance.noticeVersion);
        }
        if (urlList.ContainsKey("notice_url") && !string.IsNullOrEmpty(urlList["notice_url"].ToString()))
        {
            noticeUrl = urlList["notice_url"].ToString();
        }
        if (urlList.ContainsKey("app") && !string.IsNullOrEmpty(urlList["app"].ToString()))
        {
            Setting.APP_ADDR = urlList["app"].ToString();
            needDownloadGame = true;
        }
        else if (urlList.ContainsKey("res") && !string.IsNullOrEmpty(urlList["res"].ToString()))
        {
            Setting.SERVER_RESOURCE_ADDR = urlList["res"].ToString();
            needUpdateGame = true;
        }

#if UNITY_CLIENT || LOGGER_ON
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        sb.AppendFormat("SERVER_LIST_URL = {0}\n", Setting.SERVER_LIST_URL);
        sb.AppendFormat("LOGIN_URL = {0}\n", Setting.LOGIN_URL);
        sb.AppendFormat("REPORT_ERROR_URL = {0}\n", Setting.REPORT_ERROR_URL);
        sb.AppendFormat("NOTIFY_URL = {0}\n", Setting.NOTIFY_URL);
        sb.AppendFormat("NOTIFY_URL1 = {0}\n", Setting.NOTIFY_URL1);
        sb.AppendFormat("APP_ADDR = {0}\n", Setting.APP_ADDR);
        sb.AppendFormat("SERVER_RESOURCE_ADDR = {0}\n", Setting.SERVER_RESOURCE_ADDR);
        sb.AppendFormat("noticeVersion = {0}\n", ChannelManager.instance.noticeVersion);
        sb.AppendFormat("serverResVersion = {0}\n", serverResVersion);
        sb.AppendFormat("noticeUrl = {0}\n", noticeUrl);
        Logger.Log(sb.ToString());
#endif
        yield break;
    }
コード例 #2
0
    IEnumerator OutnetGetUrlList()
    {
        var args = string.Format("package={0}&app_version={1}&res_version={2}&notice_version={3}",
                                 ChannelManager.instance.channelName, ChannelManager.instance.appVersion, clientResVersion,
                                 ChannelManager.instance.noticeVersion);

        bool GetUrlListComplete = false;
        WWW  www = null;

        SimpleHttp.HttpPost(URLSetting.START_UP_URL, null, DataUtils.StringToBytes(args), (WWW wwwInfo) =>
        {
            www = wwwInfo;
            GetUrlListComplete = true;
        });
        yield return(new WaitUntil(() => { return GetUrlListComplete; }));

        if (www == null || !string.IsNullOrEmpty(www.error) || www.bytes == null || www.bytes.Length == 0)
        {
            Logger.LogError("Get url list for args {0} with err : {1}", args,
                            www == null ? "www null" : (!string.IsNullOrEmpty(www.error) ? www.error : "bytes length 0"));
            yield return(OutnetGetUrlList());
        }

        var urlList = (Dictionary <string, object>)MiniJSON.Json.Deserialize(DataUtils.BytesToString(www.bytes));

        if (urlList == null)
        {
            Logger.LogError("Get url list for args {0} with err : {1}", args, "Deserialize url list null!");
            yield return(OutnetGetUrlList());
        }

        if (urlList.ContainsKey("serverlist"))
        {
            URLSetting.SERVER_LIST_URL = urlList["serverlist"].ToString();
        }

        if (urlList.ContainsKey("verifying"))
        {
            URLSetting.LOGIN_URL = urlList["verifying"].ToString();
        }

        if (urlList.ContainsKey("logserver"))
        {
            URLSetting.REPORT_ERROR_URL = urlList["logserver"].ToString();
        }

        if (urlList.ContainsKey("app_version") && !string.IsNullOrEmpty(urlList["app_version"].ToString()))
        {
            serverAppVersion = urlList["app_version"].ToString();
        }

        if (urlList.ContainsKey("res_version") && !string.IsNullOrEmpty(urlList["res_version"].ToString()))
        {
            serverResVersion = urlList["res_version"].ToString();
        }

        if (urlList.ContainsKey("notice_version") && !string.IsNullOrEmpty(urlList["notice_version"].ToString()))
        {
            ChannelManager.instance.noticeVersion = urlList["notice_version"].ToString();
            GameUtility.SafeWriteAllText(noticeVersionPath, ChannelManager.instance.noticeVersion);
        }

        if (urlList.ContainsKey("notice_url") && !string.IsNullOrEmpty(urlList["notice_url"].ToString()))
        {
            URLSetting.NOTICE_URL = urlList["notice_url"].ToString();
        }

        if (urlList.ContainsKey("app") && !string.IsNullOrEmpty(urlList["app"].ToString()))
        {
            URLSetting.APP_DOWNLOAD_URL = urlList["app"].ToString();
        }
        else if (urlList.ContainsKey("res") && !string.IsNullOrEmpty(urlList["res"].ToString()))
        {
            URLSetting.SERVER_RESOURCE_URL = urlList["res"].ToString();
        }

        yield break;
    }