Main.ts 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. import { Component, game, UIRenderer, _decorator, Game, SpriteFrame, ProgressBar } from 'cc';
  2. import { ViewID } from '../framework/config/LayerConf';
  3. import { Framework } from '../framework/Framework';
  4. import { GameEvent } from './data/GameEvent';
  5. import { MaterialUtil } 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. const { ccclass, property } = _decorator;
  10. export let NetMgr: NetManager = null;
  11. //临时解决透明度为0还会渲染的bug
  12. // UIRenderer.prototype.updateAssembler = function updateAssembler(render: any) {
  13. // if (this._renderDataFlag) {
  14. // this._assembler!.updateRenderData(this, render);
  15. // this._renderDataFlag = false;
  16. // }
  17. // if (render._pOpacity > 0 && this._renderFlag) {
  18. // // console.log(render);
  19. // this._render(render);
  20. // }
  21. // }
  22. game.frameRate = 59;
  23. // 获取URL参数的函数
  24. function getParameterByName(name) {
  25. let url = window.location.href;
  26. name = name.replace(/[\[\]]/g, "\\$&");
  27. const regex = new RegExp(`[?&]${name}(=([^&#]*)|&|#|$)`);
  28. const results = regex.exec(url);
  29. if (!results) return null;
  30. if (!results[2]) return '';
  31. return decodeURIComponent(results[2].replace(/\+/g, ' '));
  32. // return results[2].replace(/\+/g, ' ')
  33. }
  34. @ccclass('Main')
  35. export class Main extends Component {
  36. private _uid = "";
  37. //切换后台的起始时间 单位ms
  38. hideTime = 0;
  39. //重连的时间 超过2秒就重连 单位ms
  40. reconnectTime = 2000;
  41. onLoad() {
  42. Framework.event.addEvent(FrameworkConf.Event.GAME_SHOW, this.gameEvent_onShow, this);
  43. Framework.event.addEvent(FrameworkConf.Event.GAME_HIDE, this.gameEvent_onHide, this);
  44. let loginbg = this.node.getChildByPath('loginbg');
  45. let loadRes = [
  46. 'bomb/game/icon_1'
  47. ];
  48. let loadNum = 0;
  49. let maxLoadNum = loadRes.length; // + MaterialUtil.init资源数量
  50. let finishBack = () => {
  51. loadNum++;
  52. if (loadNum >= maxLoadNum) {
  53. }
  54. };
  55. //MaterialUtil.init(finishBack);
  56. for (let index = 0; index < loadRes.length; index++) {
  57. const element = loadRes[index];
  58. let path = `texture/${element}/spriteFrame`
  59. resLoader.load('package', path, SpriteFrame, (error: Error, res: SpriteFrame) => {
  60. if (!error) {
  61. finishBack();
  62. }
  63. });
  64. }
  65. // Framework.layer.open(ViewID.TowerUI, null,{});
  66. Framework.layer.open(ViewID.ZombieUI, null,{});
  67. // this.connect()
  68. }
  69. connect() {
  70. // Framework.layer.open(ViewID.MainUI, () => {
  71. // this.node.getChildByPath('UICamera/loginbg').destroy();
  72. // });
  73. // if (NetMgr) {
  74. // console.log("NetMgr.is_connect:", NetMgr.is_connect);
  75. // NetMgr.close(true);
  76. // return;
  77. // }
  78. // else {
  79. // NetMgr = new NetManager();
  80. // }
  81. let wsUrl = getParameterByName('wss_url');
  82. let auth_key = getParameterByName('auth_key');
  83. let auth_time = getParameterByName('auth_time');
  84. let uid = getParameterByName('uid');
  85. let serverOpenId = getParameterByName('serverOpenId');
  86. // let hallNoOpen = 1;
  87. if (!wsUrl) {
  88. // 开发阶段,没有接入大厅
  89. wsUrl = "ws://172.31.244.30:51008";
  90. auth_key = "7c534a5a85";
  91. auth_time = "1716114388";
  92. serverOpenId = "hell";
  93. uid = uid || "10000052";
  94. }
  95. console.log("wsUrl=:", wsUrl);
  96. console.log("auth_key:", auth_key);
  97. console.log("auth_time:", auth_time);
  98. console.log("serverOpenId:", serverOpenId);
  99. console.log("uid:", uid);
  100. // // setp-1 和子服务器建立连接
  101. // NetMgr.connect(wsUrl, (code) => {
  102. // if (code != 0) return
  103. // console.log('建立连接uid=1=1==', uid);
  104. // let req1 = {
  105. // mod: 'user',
  106. // act: 'handshake',
  107. // args: {
  108. // 'auth_key': auth_key,
  109. // 'auth_time': auth_time,
  110. // //'openid': serverOpenId,
  111. // },
  112. // uid: uid,
  113. // }
  114. // console.log('建立连接', req1);
  115. // NetMgr.send(req1);// 握手消息,返回在netmanger里面处理
  116. // })
  117. // game.on(Game.EVENT_SHOW, () => {
  118. // console.log('游戏显示');
  119. // Framework.event.fireEvent(GameEvent.Game_Show)
  120. // });
  121. // // 游戏隐藏事件
  122. // game.on(Game.EVENT_HIDE, () => {
  123. // console.log(); ("游戏隐藏");
  124. // });
  125. }
  126. gameEvent_onShow() {
  127. let time = Date.now() - this.hideTime
  128. if(time > this.reconnectTime){
  129. this.connect()
  130. }
  131. }
  132. gameEvent_onHide() {
  133. this.hideTime = Date.now()
  134. }
  135. }