32 lines
796 B
TypeScript
32 lines
796 B
TypeScript
import { Client } from 'colyseus';
|
|
import { MessageType } from '../protocol/MessageType';
|
|
import { GameRoom } from '../rooms/GameRoom';
|
|
|
|
export default function disconnectCallback(
|
|
client: Client,
|
|
consented: boolean,
|
|
room: GameRoom
|
|
) {
|
|
console.log(
|
|
'Client disconnected:',
|
|
client.sessionId,
|
|
'consented:',
|
|
consented
|
|
);
|
|
|
|
room.broadcast(MessageType.CLIENT_PLAYER_LEFT, {
|
|
sessionId: client.sessionId,
|
|
});
|
|
|
|
room.deletePlayer(client.sessionId);
|
|
|
|
if (consented) {
|
|
client.send(MessageType.CLIENT_WELCOME, {
|
|
message: 'You have successfully disconnected.',
|
|
});
|
|
} else {
|
|
client.send(MessageType.CLIENT_ERROR, {
|
|
message: 'You were disconnected unexpectedly.',
|
|
});
|
|
}
|
|
}
|