| | |
| | | //内网下载测试
|
| | | _hotUpdateAss = System.AppDomain.CurrentDomain.GetAssemblies().First(a => a.GetName().Name == "Main");
|
| | | Type type = _hotUpdateAss.GetType("InGameDownTestUtility");
|
| | | ResManager.Instance.isPCTestDownLoad = (bool)type.GetMethod("GetReadVerionEx").Invoke(null, null);
|
| | | LocalResManager.Instance.isPCTestDownLoad = (bool)type.GetMethod("GetReadVerionEx").Invoke(null, null);
|
| | | #endif
|
| | | SDKInit();
|
| | | ResManager.Instance.Init();
|
| | | ResManager.Instance.InitTable(() =>
|
| | | LocalResManager.Instance.Init();
|
| | | LocalResManager.Instance.InitTable(() =>
|
| | | {
|
| | | ResManager.Instance.InitDefaultLanguage();
|
| | | LocalResManager.Instance.InitDefaultLanguage();
|
| | | LaunchLoadingWin.OpenWindow();
|
| | | // ResManager.Instance.OpenWindow("LaunchExWin", m_UICanvas);
|
| | | // LocalResManager.Instance.OpenWindow("LaunchExWin", m_UICanvas);
|
| | | #if !UNITY_EDITOR
|
| | | ResManager.step = ResManager.LoadDllStep.RequestVersion;
|
| | | LocalResManager.step = LocalResManager.LoadDllStep.RequestVersion;
|
| | | #else
|
| | | if (ResManager.Instance.isPCTestDownLoad)
|
| | | if (LocalResManager.Instance.isPCTestDownLoad)
|
| | | {
|
| | | ResManager.step = ResManager.LoadDllStep.RequestVersion;
|
| | | LocalResManager.step = LocalResManager.LoadDllStep.RequestVersion;
|
| | | }
|
| | | else
|
| | | {
|
| | |
| | | if (_hotUpdateAss == null)
|
| | | _hotUpdateAss = System.AppDomain.CurrentDomain.GetAssemblies().First(a => a.GetName().Name == "Main");
|
| | | #endif
|
| | | ResManager.step = ResManager.LoadDllStep.None;
|
| | | LocalResManager.step = LocalResManager.LoadDllStep.None;
|
| | | // m_UICanvas.gameObject.SetActive(false);
|
| | | DestroySingleton();
|
| | |
|
| | |
| | |
|
| | | private void DestroySingleton()
|
| | | {
|
| | | if (ResManager.IsValid())
|
| | | if (LocalResManager.IsValid())
|
| | | {
|
| | | ResManager.Destroy();
|
| | | LocalResManager.Destroy();
|
| | | }
|
| | | if (DownloadMgr.IsValid())
|
| | | {
|
| | |
| | | {
|
| | | if (stop)
|
| | | return;
|
| | | if (ResManager.step == ResManager.LoadDllStep.None || ResManager.step == ResManager.LoadDllStep.Wait)
|
| | | if (LocalResManager.step == LocalResManager.LoadDllStep.None || LocalResManager.step == LocalResManager.LoadDllStep.Wait)
|
| | | return;
|
| | | else if (ResManager.step == ResManager.LoadDllStep.RequestVersion)
|
| | | else if (LocalResManager.step == LocalResManager.LoadDllStep.RequestVersion)
|
| | | {
|
| | | ResManager.step = ResManager.LoadDllStep.Wait;
|
| | | ResManager.Instance.RequestVersionCheck();
|
| | | LocalResManager.step = LocalResManager.LoadDllStep.Wait;
|
| | | LocalResManager.Instance.RequestVersionCheck();
|
| | | }
|
| | | else if (ResManager.step == ResManager.LoadDllStep.PrepareDownLoad)
|
| | | else if (LocalResManager.step == LocalResManager.LoadDllStep.PrepareDownLoad)
|
| | | {
|
| | | ResManager.step = ResManager.LoadDllStep.Wait;
|
| | | LocalResManager.step = LocalResManager.LoadDllStep.Wait;
|
| | | //下载前准备,读表判断是否需要多语言不同下载路径
|
| | | PrepareDownLoad();
|
| | | }
|
| | | else if (ResManager.step == ResManager.LoadDllStep.DownLoad)
|
| | | else if (LocalResManager.step == LocalResManager.LoadDllStep.DownLoad)
|
| | | {
|
| | | ResManager.step = ResManager.LoadDllStep.Wait;
|
| | | LocalResManager.step = LocalResManager.LoadDllStep.Wait;
|
| | | BeginDownload();
|
| | | }
|
| | | else if (ResManager.step == ResManager.LoadDllStep.ReadBytes)
|
| | | else if (LocalResManager.step == LocalResManager.LoadDllStep.ReadBytes)
|
| | | {
|
| | | ResManager.step = ResManager.LoadDllStep.Wait;
|
| | | LocalResManager.step = LocalResManager.LoadDllStep.Wait;
|
| | | ReadDllBytes(this.StartGame);
|
| | | }
|
| | | //else if (ResManager.step == ResManager.LoadDllStep.Completed)
|
| | | //else if (LocalResManager.step == LocalResManager.LoadDllStep.Completed)
|
| | | //{
|
| | | // ResManager.step = ResManager.LoadDllStep.None;
|
| | | // LocalResManager.step = LocalResManager.LoadDllStep.None;
|
| | | // m_UICanvas.gameObject.SetActive(false);
|
| | | // DestroySingleton();
|
| | | //}
|
| | |
| | |
|
| | | private string GetWebRequestPath(string asset)
|
| | | {
|
| | | var path = ResManager.Instance.GetAssetFilePath(string.Concat(ResManager.bytesFolderName, asset));
|
| | | var path = LocalResManager.Instance.GetAssetFilePath(string.Concat(LocalResManager.bytesFolderName, asset));
|
| | |
|
| | | if (!path.Contains("file:"))
|
| | | {
|
| | |
| | |
|
| | | private async void ReadDllBytes(Action callback)
|
| | | {
|
| | | foreach (var assetVersion in ResManager.Instance.assetVersions.Values)
|
| | | foreach (var assetVersion in LocalResManager.Instance.assetVersions.Values)
|
| | | {
|
| | | if (assetVersion.localValid)
|
| | | {
|
| | |
| | |
|
| | | private void PrepareDownLoad()
|
| | | {
|
| | | ResManager.Instance.RequestLogicBytes();
|
| | | LocalResManager.Instance.RequestLogicBytes();
|
| | | }
|
| | |
|
| | | private void BeginDownload()
|
| | | {
|
| | | List<AssetVersion> priorDownLoadAssetVersions = new List<AssetVersion>();
|
| | | foreach (var assetVersion in ResManager.Instance.assetVersions.Values)
|
| | | foreach (var assetVersion in LocalResManager.Instance.assetVersions.Values)
|
| | | {
|
| | | AssetVersion localAssetVersion = null;
|
| | | ResManager.Instance.localAssetVersions.TryGetValue(assetVersion.relativePath, out localAssetVersion);
|
| | | LocalResManager.Instance.localAssetVersions.TryGetValue(assetVersion.relativePath, out localAssetVersion);
|
| | | if (!assetVersion.CheckLocalFileValid(localAssetVersion))
|
| | | {
|
| | | priorDownLoadAssetVersions.Add(assetVersion);
|
| | |
| | | DownloadComplete();
|
| | | return;
|
| | | }
|
| | | var targetDirectory = ResManager.Instance.ExternalStorePath;
|
| | | var targetDirectory = LocalResManager.Instance.ExternalStorePath;
|
| | | if (!Directory.Exists(targetDirectory))
|
| | | {
|
| | | Directory.CreateDirectory(targetDirectory);
|
| | |
| | |
|
| | | void DownloadComplete()
|
| | | {
|
| | | ResManager.step = ResManager.LoadDllStep.ReadBytes;
|
| | | LocalResManager.step = LocalResManager.LoadDllStep.ReadBytes;
|
| | | }
|
| | | }
|
| | |
|