Ejemplo n.º 1
0
        private void Update()
        {
            if (!IsWorking || m_NextUpdateState == HotFixUpdaterState.None || m_NextUpdateState == UpdaterState)
            {
                return;
            }

            UpdaterState      = m_NextUpdateState;
            m_NextUpdateState = HotFixUpdaterState.None;

            switch (UpdaterState)
            {
            case HotFixUpdaterState.None:
                break;

            case HotFixUpdaterState.LoadLocalVersionFile:
                NotifyHotFixUpdateProgressChanged("校验版本信息", 20);
                StartLoadLocalVersionFile();
                break;

            case HotFixUpdaterState.LoadLocalFileRecords:
                NotifyHotFixUpdateProgressChanged("校验版本信息", 40);
                StartLoadLocalRecordFile();
                break;

            case HotFixUpdaterState.LoadRemoteVersionFile:
                NotifyHotFixUpdateProgressChanged("校验版本信息", 70);
                StartLoadRemoteVersionFile();
                break;

            case HotFixUpdaterState.LoadRemoteFileRecords:
                NotifyHotFixUpdateProgressChanged("校验版本信息", 80);
                StartLoadRemoteRecordFile();
                break;

            case HotFixUpdaterState.DownloadData:
                StartDownLoadRemoteUpdatedAssets();
                break;

            case HotFixUpdaterState.ClearObsoleteAssets:
                StartClearObsoleteAssetOfDownload();
                break;

            case HotFixUpdaterState.ValidateLocalData:
                StartValidateLocalAssetFiles();
                break;

            case HotFixUpdaterState.Done:
                NotifyHotFixUpdateProgressChanged("校验版本信息", 100);
                HotfixUpdateComplated();
                break;

            case HotFixUpdaterState.Failed:
                HotfixUpdateFaild();
                break;

            default:
                break;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 尝试从远程服务器更新资源
        /// </summary>
        /// <returns></returns>
        public void TryStartUpdateRemoteAssetsToLocal()
        {
            IsWorking         = true;
            IsLoadedNewAsset  = false;
            m_NextUpdateState = HotFixUpdaterState.None;
            UpdaterState      = HotFixUpdaterState.None;

            m_LocalFileRecords.Clear();
            m_RemoteFileRecords.Clear();
            m_NeedUpdateFileRecords.Clear();
            m_NeedDownCount   = 0;
            m_RemoteVersion   = m_LocalVersion = DEFAULT_VERSION;
            IsValidatedAssets = false;
            HotfixUpdaterSwitchToState(HotFixUpdaterState.LoadLocalVersionFile);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 热更状态切换
 /// </summary>
 /// <param name="state"></param>
 void HotfixUpdaterSwitchToState(HotFixUpdaterState state)
 {
     m_NextUpdateState = state;
 }