VersionUpdateCtrl.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. const SceneCtrlBase = require('SceneCtrlBase');
  2. // 版本更新
  3. // 主要控制显示那种版本更新布局
  4. cc.Class({
  5. extends: SceneCtrlBase,
  6. editor: {
  7. menu: 'Launch/VersionUpdateCtrl'
  8. },
  9. start () {
  10. this._super();
  11. this.isDownloadFinish = G.RemoteUpdateInfoMgr.isDownloadFinish;
  12. let remoteUpdateInfo = G.RemoteUpdateInfoMgr.remoteUpdateInfo;
  13. // 有无更新奖励判断
  14. this.haveAward = remoteUpdateInfo.newAppAward == '' ? false : true;
  15. // 有无banner判断
  16. this.haveBanner = remoteUpdateInfo.newAppBanner == '' ? false : true;
  17. // 是否强制更新判断
  18. this.isForceUpdate = remoteUpdateInfo.newAppForce == 0 ? false : true;
  19. // 是否静默更新判断
  20. this.isSilentUpdate = remoteUpdateInfo.newAppSilence == 0 ? false : true;
  21. let needSilence = false;
  22. // 静默更新判断
  23. if (!this.isDownloadFinish && this.isForceUpdate == false && this.isSilentUpdate == true) {
  24. needSilence = true;
  25. }
  26. let updateType = 0;
  27. // 显示 无奖励 无banner 布局
  28. if (this.haveAward == false && this.haveBanner == false) {
  29. updateType = 1;
  30. }
  31. // 显示 有奖励 无banner 布局
  32. else if (this.haveAward == true && this.haveBanner == false) {
  33. updateType = 2;
  34. }
  35. // 显示 无奖励 有banner 布局
  36. else if (this.haveAward == false && this.haveBanner == true) {
  37. updateType = 3;
  38. }
  39. // 显示 有奖励 有banner 布局
  40. else if (this.haveAward == true && this.haveBanner == true) {
  41. updateType = 4;
  42. }
  43. if (needSilence || (updateType === 0)){
  44. G.AppUtils.loadScene('scene_login');
  45. } else {
  46. cc.game.emit('e_launch_update_show_alert');
  47. }
  48. cc.game.on('e_launch_enter_scene', this.handleEnterScene, this);
  49. },
  50. handleEnterScene () {
  51. G.AppUtils.loadScene('scene_login');
  52. }
  53. });