using UnityEngine; using System.Collections; using System.IO; using FairyGUI; using MiniJSON; using UnityEngine.Networking; using taurus.unity; using System.Text; using System; public class VerCheck : MonoBehaviour { GComponent _version_view; public static VerCheck Instance { get; private set; } public securityConnection conn; public bool isGFF = false; public bool isDXYGFF = true; void Awake() { Instance = this; } // Use this for initialization void Start() { GameApplication.Instance.isAndroid64bit = IsAndroid64bit(); CreateVersionView(); StartCoroutine(CheckNet()); } internal void ResetGame() { CreateVersionView(); StartCoroutine(__WaitReset()); } IEnumerator __WaitReset() { var _luaClient = GameApplication.Instance.GetComponent(); UnityEngine.Object.Destroy(_luaClient); System.GC.Collect(); FontManager.Clear(); UIPackage.RemoveAllPackages(); ResourcesManager.DestroyAll(); CreateVersionView(); yield return null; StartCoroutine(CheckNet()); } void CreateVersionView() { ResourcesManager.ReadAssetConfig("base/embed"); UIPackage.AddPackage("base/embed/ui/Hotupdate"); if (_version_view != null) _version_view.Dispose(); _version_view = null; _version_view = UIPackage.CreateObjectFromURL("ui://Hotupdate/Version").asCom; GRoot.inst.AddChildAt(_version_view,0); _version_view.x = (GRoot.inst.width - _version_view.width) / 2; Debug.LogError(Application.persistentDataPath); } public bool IsAndroid64bit() { #if UNITY_ANDROID && !UNITY_EDITOR if (IntPtr.Size == 8) { return true; } return false; #else return false; #endif } IEnumerator CheckNet() { string json_data = string.Empty; isDXYGFF= false; isGFF = false; //string init_url = "http://8.138.94.89:9898/NewFK/config/init2_1.json"; string init_url = "http://8.134.213.5:9898/NewFK/config/init2_1.json"; if (isGFF==false&&isDXYGFF==false) { } else { if (isGFF) { int rc = AppVest.init("8ef91e7e799b5851a8ce810aae0c697c", "U5ayF4voVvRh1ElqBIVUCR9dSFskPGvCkfreFxdxzi39hoU0faqZWjFzC90Cta50egaQatCbPxm6XTlvi2+o++PrSozoZ+HUUY0y8tBloMWaOYQX59SAhjA/DyIDHJgGbE1I"); if (rc != 0) { // Debug.LogError("init failed"); ShowTip("GF init failed!", () => { StartCoroutine(CheckNet()); }); } // Debug.LogError("init successful"); conn.ip = ""; conn.port = 0; int rc1 = AppVest.getServerIPAndPort(ref conn, "", 5021); if (rc1 != 0) { ShowTip("getServerIPAndPort failed!", () => { StartCoroutine(CheckNet()); }); yield break; } } else { string key = "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"; int rc = DxyVest.Start(key);//AppVest.init("553c12676eb80b82183e0944df97cd19", "K8N/nk3cAxhGo7Oy0yoP/Ye5jcQUaMf+8+AutonLIoCXTbHXSHJ/D8W3/iIBHJq/4SABnAF7RvIeNRnF+x+wjB6cB1TEwIUviviQlofNvM4qJFLH55ON85n2pFBhSGW3qLF/"); if (rc != 150) { Debug.LogError("wwwwwwwwwwwwwwwwwwwwwww init failed"); ShowTip("GF init failed!", () => { StartCoroutine(CheckNet()); }); } // Debug.LogError("init successful"); conn.ip = "127.0.0.1"; conn.port = 29898; //int rc1 = AppVest.getServerIPAndPort(ref conn, "", 8077); //if (rc1 != 0) //{ // ShowTip("getServerIPAndPort failed!", () => // { // StartCoroutine(CheckNet()); // }); // yield break; //} } init_url = "http://" + conn.ip + ":" + conn.port + "/NewFK/config/init2_1.json"; Debug.LogError("init_url : " + init_url); } // Debug.LogError("开始下载资源===>>>"); Debug.LogError(init_url); //Debug.LogError("init_url============================ "+ init_url); float downTimeOut = 5; using (WWW request1 = new WWW(init_url)) { float timeOut = Time.time; float process = request1.progress; while (request1!=null && request1.isDone==false) { //Debug.LogError("wwwwwwwwwwwwwwwwwww11111111111111111111111"); if(processdownTimeOut) { ShowTip("资源配置下载失败,请检查您的网络设置!", () => { StartCoroutine(CheckNet()); }); yield break; } yield return null; } yield return request1; // Debug.LogError("request1.error"+request1.error); if (string.IsNullOrEmpty(request1.error)) { //Debug.LogError("wwwwwwwwwwwwwwwww222222222222222222222222"); json_data = request1.text; //优化 GameApplication.Instance.GameInfo = json_data; Hashtable json = Json.Deserialize(json_data) as Hashtable; //json["pack_url"] = "http://8.134.59.224:8909/NewFKtest"; Hotupdate.PackUrl = (string)json["pack_url"]; Hashtable _plat_data = null; #if UNITY_IPHONE _plat_data = json["iOS"] as Hashtable; #endif #if UNITY_ANDROID _plat_data = json["Android"] as Hashtable; #endif #if UNITY_STANDALONE _plat_data = json["Win"] as Hashtable; #endif var check = _plat_data[string.Format("check{0}", GameApplication.AppVersion.ToString())]; if (check != null && (bool)check) { GameApplication.HideSdk = true; GameApplication.Instance.accountTest = false; } Version server_version = new Version((string)_plat_data["version"]); if (!GameApplication.HideSdk) { if (GameApplication.AppVersion.max_version < server_version.max_version || (GameApplication.AppVersion.max_version == server_version.max_version && GameApplication.AppVersion.min_version < server_version.min_version)) { ShowTip("您版本需要更新!", () => { #if UNITY_ANDROID StartCoroutine(DownApp((string)_plat_data["appurl"], server_version.ToString())); #else DeleteOldPack(); Application.OpenURL((string)_plat_data["appurl"]); Application.Quit(); #endif }); yield break; } } Voice.VoiceUpload = json["voice_upload_url"] as string; Voice.VoiceDownload = json["voice_download_url"] as string; //GameApplication.PackVersion = server_version.pack_version; if (!GameApplication.Instance.buildApp) { GameApplication.AppVersion.FillData(server_version); _version_view.Dispose(); GameApplication.Instance.StartGame(); } else { StartCoroutine(CheckAssetConfig(server_version)); } } else { ShowTip("资源配置下载失败,请检查您的网络设置!", () => { StartCoroutine(CheckNet()); }); //yield break; } } } IEnumerator CheckAssetConfig(Version server_version) { GObject v_tex_info = _version_view.GetChild("tex_info"); Version local_version = Hotupdate.GetLocalVersion(string.Empty); ArrayList asset_config_list = null; string asset_config_text = null; if (local_version == null || local_version.ContainAll(server_version)) { string ac_url=""; if(isGFF==false) ac_url = string.Format("{0}/config/asset_config{1}.json", Hotupdate.PackUrl, server_version.ToString()); else ac_url = string.Format("http://{0}/NewFK/config/asset_config{1}.json", conn.ip + ":" + conn.port, server_version.ToString()); // Debugger.LogError("CheckAssetConfig===>>>"); // Debugger.LogError(ac_url); float downTimeOut = 5; using (var request = new WWW(ac_url)) { float timeOut = Time.time; float process = request.progress; while (request != null && request.isDone == false) { if (process < request.progress) { timeOut = Time.time; process = request.progress; } if (Time.time - timeOut > downTimeOut) { ShowTip("游戏配置下载异常,请检查您的网络设置!", () => { StartCoroutine(CheckNet()); }); yield break; } yield return null; } yield return request; if (string.IsNullOrEmpty(request.error)) { asset_config_text = request.text; asset_config_list = Json.Deserialize(asset_config_text) as ArrayList; if (asset_config_list == null) { ShowTip("游戏配置下载异常,请检查您的网络设置!", () => { StartCoroutine(CheckAssetConfig(server_version)); }); yield break; } // v_tex_info.text = "正在检查资源。。。"; GSlider _pd = _version_view.GetChild("pb_progress").asSlider; _pd.value = 0.0; bool ver_check = false; StartCoroutine(VersionUpdateCheck(asset_config_list, (progress, finish) => { _pd.value = progress * 100f; ver_check = finish; }, v_tex_info)); while (!ver_check) { yield return null; } string arv = string.Format("{0}asset_config{1}.json", ResourcesManager.PACK_PATH, server_version.ToString()); File.WriteAllText(arv, asset_config_text, System.Text.Encoding.UTF8); string rv = ResourcesManager.PACK_PATH + "version.txt"; File.WriteAllText(rv, server_version.ToString(), System.Text.Encoding.UTF8); } else { ShowTip("游戏资源下载失败,请检查您的网络设置!", () => { StartCoroutine(CheckAssetConfig(server_version)); }); yield break; } } }else { // string arv = string.Format("{0}asset_config{1}.json", ResourcesManager.PACK_PATH, server_version.ToString()); string arv =ResourcesManager.PACK_PATH+"asset_config"+server_version.ToString()+".json"; //Debug.LogError("ARV===>>>" + arv); try { asset_config_text = File.ReadAllText(arv); asset_config_list = Json.Deserialize(asset_config_text) as ArrayList; foreach (Hashtable tem in asset_config_list) { string b_path = "base/" + tem["name"]; ResourcesManager.ReadAssetConfig(b_path); } } catch (Exception s) { Debug.LogError(s.ToString()); ShowTip("游戏资源损坏,请重新安装新包!", () => { StartCoroutine(CheckAssetConfig(server_version)); }); yield break; } //IEnumerator enumerator = asset_config_list.GetEnumerator(); //try //{ // while (enumerator!=null && enumerator.MoveNext()) // { // Hashtable hashtable = (Hashtable)enumerator.Current; // string base_path = "base/" + hashtable["name"].ToString(); // ResourcesManager.ReadAssetConfig(base_path); // yield return null; // } //} //finally //{ // IDisposable disposable; // if ((disposable = (enumerator as IDisposable)) != null) // { // disposable.Dispose(); // } //} } GameApplication.AppVersion.FillData(server_version); v_tex_info.text = "正在加载资源请稍后。。"; //ResourcesManager.Init(); yield return null; _version_view.Dispose(); GameApplication.Instance.StartGame(); } /// /// 检查基本更新包 /// /// /// /// /// IEnumerator VersionUpdateCheck(ArrayList asset_config_list, System.Action onback, FairyGUI.GObject tip) { Version local_version = Version.DEFUALT; for(int i=0;i< asset_config_list.Count; ++i) { var tem = asset_config_list[i] as Hashtable; //if (GameApplication.HideSdk) //{ // if (!tem.ContainsKey("check")) continue; // if (!(bool)tem["check"]) continue; //} string b_path = "base/" + tem["name"].ToString(); Hotupdate version_update = new Hotupdate(b_path + "/", local_version, new Version((string)tem["ver"])); version_update.AssetName = b_path; version_update.HideDetail = true; #if UNITY_ANDROID && !UNITY_EDITOR //if (GameApplication.Instance.isAndroid64bit==false) //{ // if (tem["name"].ToString()=="base_script") // { // version_update.isBuild32lua = true; // } //} #endif version_update.SetTipCallback((text,callback)=> { ShowTip(text, callback); }); version_update.LoadAsset(); while (!version_update.Done) { onback(version_update.Progress, false); tip.text = version_update.TextTip; yield return null; } ResourcesManager.ReadAssetConfig(b_path); } onback(1, true); } #if UNITY_ANDROID IEnumerator DownApp(string appurl,string version) { var v_tex_info = _version_view.GetChild("tex_info"); v_tex_info.text = "正在下载新的安装包(0KB/0KB)"; var _pd = _version_view.GetChild("pb_progress").asSlider; var request = new BestHTTP.HTTPRequest(new System.Uri(appurl)); request.EnableTimoutForStreaming = false; request.UseStreaming = true; request.IsKeepAlive = true; request.Send(); var filePath = Application.persistentDataPath + "/update" + version + ".apk"; if (File.Exists(filePath)) { File.Delete(filePath); } FileStream stream = null; request.OnProgress = (originalRequest, downloaded, downloadLength) => { v_tex_info.text = string.Format("正在下载新的安装包({0}KB/{1}KB)", downloaded / 1024, downloadLength / 1024); _pd.value = (downloaded / (float)downloadLength) * 100; var fragments = originalRequest.Response.GetStreamedFragments(); if (fragments != null) { if (stream == null) { stream = File.Create(filePath); } foreach(byte[] buffer in fragments) { stream.Write(buffer, 0, buffer.Length); } } }; while (request.State < BestHTTP.HTTPRequestStates.Finished) { yield return null; } yield return new WaitForSeconds(1); stream.Dispose(); request.OnProgress = null; if (request.State == BestHTTP.HTTPRequestStates.Finished && request.Response.IsSuccess) { DeleteOldPack(); PlatformAndroid.Instance.UpdateApp(filePath); } else { ShowTip("请检查您的网络设置!", () => { StartCoroutine(DownApp(appurl, version)); }); } } #endif public void ShowTip(string text, System.Action callback) { var ctr_state = _version_view.GetController("state"); ctr_state.selectedIndex = 1; _version_view.GetChild("tex_tip").text = text; _version_view.GetChild("btn_ok").onClick.Set(() => { ctr_state.selectedIndex = 0; if (callback != null) callback(); }); } /// /// 移除本地缓存包 /// public static void DeleteOldPack() { string dir = ResourcesManager.RES_PATH; string rv = dir + "version.txt"; if (File.Exists(rv)) File.Delete(rv); if (Directory.Exists(dir)) Directory.Delete(dir, true); } }