42 lines
1014 B
TypeScript
42 lines
1014 B
TypeScript
import type { Socket } from "socket.io";
|
|
import { io } from "../server.js";
|
|
import {
|
|
joinLobby,
|
|
leaveLobby,
|
|
getLatestGame,
|
|
sendMove,
|
|
joinAsPlayer,
|
|
chat
|
|
} from "./game.socket.js";
|
|
|
|
const socketConnect = (socket: Socket) => {
|
|
const req = socket.request;
|
|
|
|
// re-analyze if this is necessary, or if io.use will handle logout
|
|
socket.use((__, next) => {
|
|
req.session.reload((err) => {
|
|
if (err) {
|
|
console.log("reload: disconnecting socket.");
|
|
console.log(err);
|
|
socket.disconnect();
|
|
} else {
|
|
next();
|
|
}
|
|
});
|
|
});
|
|
|
|
socket.on("disconnect", leaveLobby);
|
|
|
|
socket.on("joinLobby", joinLobby);
|
|
socket.on("leaveLobby", leaveLobby);
|
|
|
|
socket.on("getLatestGame", getLatestGame);
|
|
socket.on("sendMove", sendMove);
|
|
socket.on("joinAsPlayer", joinAsPlayer);
|
|
socket.on("chat", chat);
|
|
};
|
|
|
|
export const init = () => {
|
|
io.on("connection", socketConnect);
|
|
};
|