Main.ts 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. import { Component, game, UIRenderer, _decorator, Game, SpriteFrame, ProgressBar, assetManager } from 'cc';
  2. import { ViewID } from '../framework/config/LayerConf';
  3. import { Framework } from '../framework/Framework';
  4. import { GameEvent } from './data/GameEvent';
  5. import { MaterialUtil, ProcessData } from '../framework/util/MaterialUtil';
  6. import { NetManager } from './common/NetManager';
  7. import { FrameworkConf } from '../framework/config/FrameworkConf';
  8. import { resLoader } from '../framework/res/ResLoader';
  9. import { UnionManager } from './manager/UnionManager';
  10. const { ccclass, property } = _decorator;
  11. // export let NetMgr: NetManager = null;
  12. //临时解决透明度为0还会渲染的bug
  13. // UIRenderer.prototype.updateAssembler = function updateAssembler(render: any) {
  14. // if (this._renderDataFlag) {
  15. // this._assembler!.updateRenderData(this, render);
  16. // this._renderDataFlag = false;
  17. // }
  18. // if (render._pOpacity > 0 && this._renderFlag) {
  19. // // console.log(render);
  20. // this._render(render);
  21. // }
  22. // }
  23. game.frameRate = 59;
  24. // 获取URL参数的函数
  25. function getParameterByName(name) {
  26. let url = window.location.href;
  27. name = name.replace(/[\[\]]/g, "\\$&");
  28. const regex = new RegExp(`[?&]${name}(=([^&#]*)|&|#|$)`);
  29. const results = regex.exec(url);
  30. if (!results) return null;
  31. if (!results[2]) return '';
  32. return decodeURIComponent(results[2].replace(/\+/g, ' '));
  33. // return results[2].replace(/\+/g, ' ')
  34. }
  35. @ccclass('Main')
  36. export class Main extends Component {
  37. //主进度条
  38. @property(ProgressBar)
  39. mainProgress: ProgressBar = null;
  40. //小进度条
  41. @property(ProgressBar)
  42. subProgress: ProgressBar = null;
  43. private _uid = "";
  44. //切换后台的起始时间 单位ms
  45. hideTime = 0;
  46. //重连的时间 超过2秒就重连 单位ms
  47. reconnectTime = 2000;
  48. onLoad() {
  49. Framework.event.addEvent(FrameworkConf.Event.GAME_SHOW, this.gameEvent_onShow, this);
  50. Framework.event.addEvent(FrameworkConf.Event.GAME_HIDE, this.gameEvent_onHide, this);
  51. let loginbg = this.node.getChildByPath('loginbg');
  52. Framework.unionManager = UnionManager;
  53. MaterialUtil.init(this.finishBack.bind(this));
  54. // this.connect()
  55. }
  56. finishBack(process:ProcessData){
  57. if(this.mainProgress.progress == 1) return
  58. //主进度百分比
  59. let mainProgressPercent = process.curMain/process.maxMain
  60. if(mainProgressPercent>=1){
  61. this.mainProgress.progress = 1
  62. Framework.layer.open(ViewID.LoginUI, null, () => {
  63. });
  64. return
  65. }
  66. else if(mainProgressPercent < 0){
  67. this.mainProgress.progress = 0
  68. }
  69. this.mainProgress.progress = mainProgressPercent
  70. }
  71. gameEvent_onShow() {
  72. // let time = Date.now() - this.hideTime
  73. // if(time > this.reconnectTime){
  74. // this.connect()
  75. // }
  76. }
  77. gameEvent_onHide() {
  78. // this.hideTime = Date.now()
  79. }
  80. }