123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- import { Component, game, UIRenderer, _decorator, Game, SpriteFrame, ProgressBar } from 'cc';
- import { ViewID } from '../framework/config/LayerConf';
- import { Framework } from '../framework/Framework';
- import { GameEvent } from './data/GameEvent';
- import { MaterialUtil } from '../framework/util/MaterialUtil';
- import { NetManager } from './common/NetManager';
- import { FrameworkConf } from '../framework/config/FrameworkConf';
- import { resLoader } from '../framework/res/ResLoader';
- 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 {
- 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');
-
- let loadRes = [
- 'bomb/game/icon_1'
- ];
-
- let loadNum = 0;
- let maxLoadNum = loadRes.length; // + MaterialUtil.init资源数量
- let finishBack = () => {
- loadNum++;
- if (loadNum >= maxLoadNum) {
-
- }
- };
- //MaterialUtil.init(finishBack);
- for (let index = 0; index < loadRes.length; index++) {
- const element = loadRes[index];
- let path = `texture/${element}/spriteFrame`
- resLoader.load('package', path, SpriteFrame, (error: Error, res: SpriteFrame) => {
- if (!error) {
-
- finishBack();
- }
- });
- }
- // Framework.layer.open(ViewID.TowerUI, null,{});
- Framework.layer.open(ViewID.ZombieUI, null,{});
- // this.connect()
- }
- connect() {
- // Framework.layer.open(ViewID.MainUI, () => {
- // this.node.getChildByPath('UICamera/loginbg').destroy();
- // });
- // if (NetMgr) {
- // console.log("NetMgr.is_connect:", NetMgr.is_connect);
- // NetMgr.close(true);
- // return;
- // }
- // else {
- // NetMgr = new NetManager();
- // }
- let wsUrl = getParameterByName('wss_url');
- let auth_key = getParameterByName('auth_key');
- let auth_time = getParameterByName('auth_time');
- let uid = getParameterByName('uid');
- let serverOpenId = getParameterByName('serverOpenId');
- // let hallNoOpen = 1;
- if (!wsUrl) {
- // 开发阶段,没有接入大厅
- wsUrl = "ws://172.31.244.30:51008";
- auth_key = "7c534a5a85";
- auth_time = "1716114388";
- serverOpenId = "hell";
- uid = uid || "10000052";
- }
- console.log("wsUrl=:", wsUrl);
- console.log("auth_key:", auth_key);
- console.log("auth_time:", auth_time);
- console.log("serverOpenId:", serverOpenId);
- console.log("uid:", uid);
-
- // // setp-1 和子服务器建立连接
- // NetMgr.connect(wsUrl, (code) => {
- // if (code != 0) return
- // console.log('建立连接uid=1=1==', uid);
- // let req1 = {
- // mod: 'user',
- // act: 'handshake',
- // args: {
- // 'auth_key': auth_key,
- // 'auth_time': auth_time,
- // //'openid': serverOpenId,
- // },
- // uid: uid,
- // }
- // console.log('建立连接', req1);
- // NetMgr.send(req1);// 握手消息,返回在netmanger里面处理
- // })
-
- // game.on(Game.EVENT_SHOW, () => {
- // console.log('游戏显示');
- // Framework.event.fireEvent(GameEvent.Game_Show)
- // });
- // // 游戏隐藏事件
- // game.on(Game.EVENT_HIDE, () => {
- // console.log(); ("游戏隐藏");
- // });
- }
- gameEvent_onShow() {
- let time = Date.now() - this.hideTime
- if(time > this.reconnectTime){
- this.connect()
- }
- }
- gameEvent_onHide() {
- this.hideTime = Date.now()
- }
- }
|