diff --git a/package.json b/package.json index 4c69132..0e9dfdf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "colyseus.js", - "version": "0.15.8", + "version": "0.15.9", "description": "Colyseus Multiplayer SDK for JavaScript/TypeScript", "author": "Endel Dreyer", "license": "MIT", diff --git a/src/Client.ts b/src/Client.ts index bc396be..098af45 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -105,7 +105,7 @@ export class Client { public async consumeSeatReservation( response: any, rootSchema?: SchemaConstructor, - previousRoom?: Room // used in devMode + reuseRoomInstance?: Room // used in devMode ): Promise> { const room = this.createRoom(response.room.name, rootSchema); room.roomId = response.room.roomId; @@ -118,7 +118,7 @@ export class Client { options.reconnectionToken = response.reconnectionToken; } - const targetRoom = previousRoom || room; + const targetRoom = reuseRoomInstance || room; room.connect(this.buildEndpoint(response.room, options), response.devMode && (async () => { console.info(`[Colyseus devMode]: ${String.fromCodePoint(0x1F504)} Re-establishing connection with room id '${room.roomId}'...`); // 🔄 @@ -161,7 +161,8 @@ export class Client { method: string, roomName: string, options: JoinOptions = {}, - rootSchema?: SchemaConstructor + rootSchema?: SchemaConstructor, + reuseRoomInstance?: Room, ) { const response = ( await post(this.getHttpEndpoint(`${method}/${roomName}`), { @@ -182,7 +183,7 @@ export class Client { response.reconnectionToken = options.reconnectionToken; } - return await this.consumeSeatReservation(response, rootSchema); + return await this.consumeSeatReservation(response, rootSchema, reuseRoomInstance); } protected createRoom(roomName: string, rootSchema?: SchemaConstructor) {