xiangtan/xiangtan_104/fk101/wb_unity_pro/Assets/Scripts/VerCheck.cs

548 lines
27 KiB
C#

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<DSLuaClient>();
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.127.144:39898/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 = 9898;
//int rc1 = AppVest.getServerIPAndPort(ref conn, "", 8077);
//if (rc1 != 0)x
//{
// ShowTip("getServerIPAndPort failed!", () =>
// {
// StartCoroutine(CheckNet());
// });
// yield break;
//}
}
init_url = "http://" + conn.ip + ":" + conn.port + "/NewFKSGB/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(process<request1.progress)
{
timeOut = Time.time;
process = request1.progress;
}
if(Time.time-timeOut>downTimeOut)
{
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/NewFKTStest";
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}/NewFKSGB/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();
}
/// <summary>
/// 检查基本更新包
/// </summary>
/// <param name="asset_config_list"></param>
/// <param name="onback"></param>
/// <param name="tip"></param>
/// <returns></returns>
IEnumerator VersionUpdateCheck(ArrayList asset_config_list, System.Action<float, bool> 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();
});
}
/// <summary>
/// 移除本地缓存包
/// </summary>
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);
}
}