const SceneCtrlBase = require('SceneCtrlBase'); const JMLoadProgressBar = require('JMLoadProgressBar'); // 等待版本信息返回 // 主要是延长版本更新timeout时间 cc.Class({ extends: SceneCtrlBase, editor: { menu: 'Launch/RemoteUpdateInfoCtrl' }, properties: { loadProgressBar: JMLoadProgressBar }, onLoad () { this._super(); this._endScene = false; // 等待《获取远程更新信息请求》10秒 this.simulatorProgress(10, 1); }, update () { if (this._endScene) { return; } if (G.RemoteUpdateInfoMgr.isReadyRemoteInfo) { if (G.RemoteUpdateInfoMgr.isHotUpdate) { if (G.RemoteUpdateInfoMgr.isReadyHotUpdate) { if (G.RemoteUpdateInfoMgr.isSmallHotUpdate || G.RemoteUpdateInfoMgr.isBigHotUpdate) { // 热更新 G.LogUtils.log('有热更新,进入热更新场景'); this._loadScene('scene_update_hot'); return; } else { G.LogUtils.log('无更新,进入登录场景'); this._loadScene('scene_login'); return; } } } else if (G.RemoteUpdateInfoMgr.isVersionUpdate) { // 版本更新 G.LogUtils.log('有版本更新,进入版本更新场景'); this._loadScene('scene_update_version'); return; } else { G.LogUtils.log('无更新,进入登录场景'); this._loadScene('scene_login'); return; } } if (this.loadProgressBar.progressBar.progress == 1) { G.LogUtils.log('超时,进入登录场景'); this._loadScene('scene_login'); } }, // 模拟进度 simulatorProgress (duration, progress) { this.loadProgressBar.setProgress(duration, progress); }, _loadScene (sceneName) { this._endScene = true; G.AppUtils.loadScene(sceneName); } });