Commit a9f795ff authored by 范雪寒's avatar 范雪寒

fix: 离开房间无效

parent e0f0ebe9
......@@ -17,9 +17,14 @@ cc.Class({
window.courseware.freeAllOcMethod();
}
cc.director.loadScene("debug_shell", null, null, (err, scene) => {
var bundle = cc.assetManager.bundles.find((obj) => {
return obj.getSceneInfo('debug_shell');
});
if (bundle) {
cc.director.loadScene("debug_shell", null, null, (err, scene) => { });
} else {
cc.director.loadScene("OXFORDCORE", null, null, (err, scene) => { });
}
});
const BtnPlayAgain = cc.find('BtnFrame/BtnPlayAgain', this.node);
BtnPlayAgain.on('click', ()=>{
......
......@@ -634,6 +634,8 @@ export default class SceneComponent extends MyCocosSceneComponent {
});
this.networkHelper.on("playerLeave", (event) => {
cc.log("playerLeave" + JSON.stringify(event));
cc.find("Canvas/bg/PlayerOffLineLayer").active = true;
this.networkHelper.leaveRoom();
});
this.networkHelper.on("playerOffLine", (event) => {
cc.find("Canvas/bg/PlayerOffLineLayer").active = true;
......
......@@ -2,7 +2,7 @@ import { Base64 } from "js-base64";
export class NetworkHelper {
_eventListeners: any = {};
ctor() {}
ctor() { }
on(eventName, func) {
this._eventListeners[eventName] = func;
......@@ -127,7 +127,7 @@ export class NetworkHelper {
console.log("this.room = " + JSON.stringify(this.room.roomInfo));
}
player: MGOBE.Player;
player: any;
joinRoom(roomType: string, maxPlayers: number, customData: string = "") {
return new Promise((resolve, reject) => {
const playerName = "Tom" + Math.random();
......@@ -282,17 +282,17 @@ export class NetworkHelper {
}
console.log("玩家退出", event.data.leavePlayerId);
}
onRecvFromClient() {}
onRecvFromClient() { }
checkRoomOwnerOffLine() {
const owner = this.room.roomInfo.playerList.find(
(player) => player.id == this.room.roomInfo.owner
);
return this.room.roomInfo.playerList.some(player => {
return (
owner.commonNetworkState == MGOBE.types.NetworkState.COMMON_OFFLINE ||
owner.relayNetworkState == MGOBE.types.NetworkState.RELAY_OFFLINE
player.commonNetworkState == MGOBE.types.NetworkState.COMMON_OFFLINE ||
player.relayNetworkState == MGOBE.types.NetworkState.RELAY_OFFLINE
);
})
}
onChangePlayerNetworkState(event) {
this.log("玩家网络变化: " + JSON.stringify(event));
if (this.checkRoomOwnerOffLine()) {
......@@ -313,8 +313,8 @@ export class NetworkHelper {
this._eventListeners["gameStart"](event);
}
}
onStopFrameSync(event) {}
onRecvFromGameSvr() {}
onStopFrameSync(event) { }
onRecvFromGameSvr() { }
async onDestroy() {
try {
......@@ -366,7 +366,7 @@ export function asyncDelay(time) {
cc.tween(cc.find("Canvas"))
.delay(time)
.call(() => {
resolve();
resolve(null);
})
.start();
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment