public void SetState(DownloadResState state) { if (state == curState) { return; } LogMgr.I("DownloadRes", "SetState", "SetState切换状态到:" + state, BeShowLog); preState = curState; StateExit(preState); curState = state; switch (curState) { case DownloadResState.checkRemoteResVer: CheckRemoteResVer(); break; case DownloadResState.compareResVerPersist_Remote: CompareResVerPersist_Remote(); break; case DownloadResState.checkPersistDownloadingRes: CheckPersistDownloadingRes(); break; case DownloadResState.pullRemoteResInfoList: PullRemoteResInfoList(); break; case DownloadResState.readPersistResInfoList: ReadPersistResInfoList(); break; case DownloadResState.compareResInfoListPersist_Remote: CompareResInfoListPersist_Remote(); break; case DownloadResState.checkBreakpoint: CheckBreakpoint(); break; case DownloadResState.filterUpdateResInfoList: FilterUpdateResInfoList(); break; case DownloadResState.saveRemoteResVer2Downloading: SaveRemoteResVer2Downloading(); break; case DownloadResState.startDownload: StartDownload(); break; case DownloadResState.saveResInfoList2DownloadingFoler: SaveResInfoList2DownloadingFoler(); break; case DownloadResState.generateDownloadOverFlagFile: GenerateDownloadOverFlagFile(); break; case DownloadResState.downloadComplete: Clear(); //这里的100即可是版本检测的100也可是下载的100 Messenger.Broadcast <float>("updateLoadingProgress", 1f); UpdateMgr.GetIns().SetState(UpdateMgr.CheckVerState.copyRess); break; } }
private void StateExit(DownloadResState state) { switch (state) { case DownloadResState.checkRemoteResVer: Messenger.Broadcast <string>("updateLoadingText", "检查资源更新"); Messenger.Broadcast <float>("updateLoadingProgress", 0.10f); break; case DownloadResState.compareResVerPersist_Remote: Messenger.Broadcast <float>("updateLoadingProgress", 0.20f); break; case DownloadResState.checkPersistDownloadingRes: Messenger.Broadcast <float>("updateLoadingProgress", 0.30f); break; case DownloadResState.pullRemoteResInfoList: Messenger.Broadcast <float>("updateLoadingProgress", 0.40f); break; case DownloadResState.readPersistResInfoList: Messenger.Broadcast <float>("updateLoadingProgress", 0.50f); break; case DownloadResState.compareResInfoListPersist_Remote: Messenger.Broadcast <float>("updateLoadingProgress", 0.60f); break; case DownloadResState.checkBreakpoint: Messenger.Broadcast <float>("updateLoadingProgress", 0.70f); break; case DownloadResState.filterUpdateResInfoList: Messenger.Broadcast <float>("updateLoadingProgress", 0.80f); break; case DownloadResState.saveRemoteResVer2Downloading: Messenger.Broadcast <float>("updateLoadingProgress", 1f); break; case DownloadResState.startDownload: Messenger.Broadcast <string>("updateLoadingText", "下载中"); Messenger.Broadcast <float>("updateLoadingProgress", 0f); break; case DownloadResState.saveResInfoList2DownloadingFoler: Messenger.Broadcast <float>("updateLoadingProgress", 0.90f); break; case DownloadResState.generateDownloadOverFlagFile: Messenger.Broadcast <float>("updateLoadingProgress", 0.95f); break; case DownloadResState.downloadComplete: break; } }