import { Component, game, UIRenderer, _decorator, Game, SpriteFrame, ProgressBar, assetManager } from 'cc'; import { ViewID } from '../framework/config/LayerConf'; import { Framework } from '../framework/Framework'; import { GameEvent } from './data/GameEvent'; import { MaterialUtil, ProcessData } from '../framework/util/MaterialUtil'; import { NetManager } from './common/NetManager'; import { FrameworkConf } from '../framework/config/FrameworkConf'; import { resLoader } from '../framework/res/ResLoader'; import { UnionManager } from './manager/UnionManager'; const { ccclass, property } = _decorator; // export let NetMgr: NetManager = null; //临时解决透明度为0还会渲染的bug // UIRenderer.prototype.updateAssembler = function updateAssembler(render: any) { // if (this._renderDataFlag) { // this._assembler!.updateRenderData(this, render); // this._renderDataFlag = false; // } // if (render._pOpacity > 0 && this._renderFlag) { // // console.log(render); // this._render(render); // } // } game.frameRate = 59; // 获取URL参数的函数 function getParameterByName(name) { let url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); const regex = new RegExp(`[?&]${name}(=([^&#]*)|&|#|$)`); const results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, ' ')); // return results[2].replace(/\+/g, ' ') } @ccclass('Main') export class Main extends Component { //主进度条 @property(ProgressBar) mainProgress: ProgressBar = null; //小进度条 @property(ProgressBar) subProgress: ProgressBar = null; private _uid = ""; //切换后台的起始时间 单位ms hideTime = 0; //重连的时间 超过2秒就重连 单位ms reconnectTime = 2000; onLoad() { Framework.event.addEvent(FrameworkConf.Event.GAME_SHOW, this.gameEvent_onShow, this); Framework.event.addEvent(FrameworkConf.Event.GAME_HIDE, this.gameEvent_onHide, this); let loginbg = this.node.getChildByPath('loginbg'); Framework.unionManager = UnionManager; MaterialUtil.init(this.finishBack.bind(this)); // this.connect() } finishBack(process:ProcessData){ if(this.mainProgress.progress == 1) return //主进度百分比 let mainProgressPercent = process.curMain/process.maxMain if(mainProgressPercent>=1){ this.mainProgress.progress = 1 Framework.layer.open(ViewID.LoginUI, null, () => { }); return } else if(mainProgressPercent < 0){ this.mainProgress.progress = 0 } this.mainProgress.progress = mainProgressPercent } gameEvent_onShow() { // let time = Date.now() - this.hideTime // if(time > this.reconnectTime){ // this.connect() // } } gameEvent_onHide() { // this.hideTime = Date.now() } }