import { WebSocket } from "../wsServer.js"; import { Racket } from "../../shared_js/class/Rectangle.js"; import { GameSession } from "./GameSession.js"; import * as ev from "../../shared_js/class/Event.js" class Client { socket: WebSocket; id: string; // Pas indispensable si "socket" a une copie de "id" isAlive: boolean = true; gameSession: GameSession; inputBuffer: ev.EventInput = new ev.EventInput(); lastInputId: number = 0; constructor(socket: WebSocket, id: string) { this.socket = socket; this.id = id; } } class ClientPlayer extends Client { racket: Racket; constructor(socket: WebSocket, id: string, racket: Racket) { super(socket, id); this.racket = racket; } } class ClientSpectator extends Client { // Wip, unused constructor(socket: WebSocket, id: string) { super(socket, id); } } export {Client, ClientPlayer, ClientSpectator}