Exemplo n.º 1
0
        private IEnumerator CheckAssetProcess()
        {
            foreach (var assetUpdateManager in m_AllAssetUpdateManagers)
            {
                CurAssetUpdateManager = assetUpdateManager.Value;

                if (CurAssetUpdateManager == null)
                {
                    continue;
                }
                HotAssetServerAddressInfor serverAddressInfor = ApplicationConfig.Instance.GetHotAssetServerAddressInforByType(assetUpdateManager.Key);
                CurAssetUpdateManager.m_OnUpdateFailAct = m_OnUpdateErrorAssetAct;
                CurAssetUpdateManager.BeginAssetUpdateProcess(serverAddressInfor);


                while (CurAssetUpdateManager.m_IsCompleteMD5 == false)
                {
                    yield return(null);
                }
                TotalNeedDownloadAsset += CurAssetUpdateManager.TotalNeedDownLoadCount;
            }

            IsCompleteCheckAsset = true;
            if (m_CompleteCheckAssetState != null)
            {
                m_CompleteCheckAssetState.Invoke(TotalNeedDownloadAsset);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 设置默认的热更新资源服务器地址
        /// </summary>
        private void SetDefaultAssetUpdatePathInfor()
        {
            m_AllHotAssetServerInfor.Clear();
            var loadAssetEnum = System.Enum.GetValues(typeof(HotAssetEnum));

            foreach (var item in loadAssetEnum)
            {
                HotAssetServerAddressInfor infor = new HotAssetServerAddressInfor();
                infor.m_AssetEum        = (HotAssetEnum)System.Enum.Parse(typeof(HotAssetEnum), item.ToString());
                infor.m_ServerAssetPath = "";
                m_AllHotAssetServerInfor.Add(infor);
            }
        }
Exemplo n.º 3
0
        private IEnumerator UpdateAssetProcess(float delayTime, Action <string, int> donwnloadCallback)
        {
            //if (TotalNeedDownloadAsset == 0)
            //    yield break;

            if (delayTime >= 0)
            {
                yield return(new WaitForSeconds(delayTime));
            }
            foreach (var assetUpdateManager in m_AllAssetUpdateManagers)
            {
                CurAssetUpdateManager = assetUpdateManager.Value;

                if (CurAssetUpdateManager == null)
                {
                    //     m_AlreadyCompleteUpdateMager++;
                    continue;
                }
                HotAssetServerAddressInfor serverAddressInfor = ApplicationConfig.Instance.GetHotAssetServerAddressInforByType(assetUpdateManager.Key);
                CurAssetUpdateManager.m_OnUpdateFailAct = m_OnUpdateErrorAssetAct;
                CurAssetUpdateManager.BeginUpdateAsset(donwnloadCallback, null);

                while (CurAssetUpdateManager.m_IsCompleteUpdate == false)
                {
                    yield return(new WaitForSeconds(1f));
                }
                while (CurAssetUpdateManager.m_IsUpdateRecorded == false)
                {
                    yield return(null);
                }
            }

            S_IsCompleteUpdateAsset = true;
            if (m_OnCompleteUpdateAssetAct != null)
            {
                m_OnCompleteUpdateAssetAct.Invoke();
            }
        }