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

fix: 离开房间无效

parent e0f0ebe9
...@@ -16,10 +16,15 @@ cc.Class({ ...@@ -16,10 +16,15 @@ cc.Class({
if (window.courseware) { if (window.courseware) {
window.courseware.freeAllOcMethod(); 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); const BtnPlayAgain = cc.find('BtnFrame/BtnPlayAgain', this.node);
BtnPlayAgain.on('click', ()=>{ BtnPlayAgain.on('click', ()=>{
......
...@@ -634,6 +634,8 @@ export default class SceneComponent extends MyCocosSceneComponent { ...@@ -634,6 +634,8 @@ export default class SceneComponent extends MyCocosSceneComponent {
}); });
this.networkHelper.on("playerLeave", (event) => { this.networkHelper.on("playerLeave", (event) => {
cc.log("playerLeave" + JSON.stringify(event)); cc.log("playerLeave" + JSON.stringify(event));
cc.find("Canvas/bg/PlayerOffLineLayer").active = true;
this.networkHelper.leaveRoom();
}); });
this.networkHelper.on("playerOffLine", (event) => { this.networkHelper.on("playerOffLine", (event) => {
cc.find("Canvas/bg/PlayerOffLineLayer").active = true; cc.find("Canvas/bg/PlayerOffLineLayer").active = true;
......
...@@ -2,7 +2,7 @@ import { Base64 } from "js-base64"; ...@@ -2,7 +2,7 @@ import { Base64 } from "js-base64";
export class NetworkHelper { export class NetworkHelper {
_eventListeners: any = {}; _eventListeners: any = {};
ctor() {} ctor() { }
on(eventName, func) { on(eventName, func) {
this._eventListeners[eventName] = func; this._eventListeners[eventName] = func;
...@@ -127,7 +127,7 @@ export class NetworkHelper { ...@@ -127,7 +127,7 @@ export class NetworkHelper {
console.log("this.room = " + JSON.stringify(this.room.roomInfo)); console.log("this.room = " + JSON.stringify(this.room.roomInfo));
} }
player: MGOBE.Player; player: any;
joinRoom(roomType: string, maxPlayers: number, customData: string = "") { joinRoom(roomType: string, maxPlayers: number, customData: string = "") {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const playerName = "Tom" + Math.random(); const playerName = "Tom" + Math.random();
...@@ -282,17 +282,17 @@ export class NetworkHelper { ...@@ -282,17 +282,17 @@ export class NetworkHelper {
} }
console.log("玩家退出", event.data.leavePlayerId); console.log("玩家退出", event.data.leavePlayerId);
} }
onRecvFromClient() {} onRecvFromClient() { }
checkRoomOwnerOffLine() { checkRoomOwnerOffLine() {
const owner = this.room.roomInfo.playerList.find( return this.room.roomInfo.playerList.some(player => {
(player) => player.id == this.room.roomInfo.owner return (
); player.commonNetworkState == MGOBE.types.NetworkState.COMMON_OFFLINE ||
return ( player.relayNetworkState == MGOBE.types.NetworkState.RELAY_OFFLINE
owner.commonNetworkState == MGOBE.types.NetworkState.COMMON_OFFLINE || );
owner.relayNetworkState == MGOBE.types.NetworkState.RELAY_OFFLINE })
);
} }
onChangePlayerNetworkState(event) { onChangePlayerNetworkState(event) {
this.log("玩家网络变化: " + JSON.stringify(event)); this.log("玩家网络变化: " + JSON.stringify(event));
if (this.checkRoomOwnerOffLine()) { if (this.checkRoomOwnerOffLine()) {
...@@ -313,8 +313,8 @@ export class NetworkHelper { ...@@ -313,8 +313,8 @@ export class NetworkHelper {
this._eventListeners["gameStart"](event); this._eventListeners["gameStart"](event);
} }
} }
onStopFrameSync(event) {} onStopFrameSync(event) { }
onRecvFromGameSvr() {} onRecvFromGameSvr() { }
async onDestroy() { async onDestroy() {
try { try {
...@@ -366,7 +366,7 @@ export function asyncDelay(time) { ...@@ -366,7 +366,7 @@ export function asyncDelay(time) {
cc.tween(cc.find("Canvas")) cc.tween(cc.find("Canvas"))
.delay(time) .delay(time)
.call(() => { .call(() => {
resolve(); resolve(null);
}) })
.start(); .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