diff --git a/server/src/objects/Player.ts b/server/src/objects/Player.ts new file mode 100644 index 0000000..24a6825 --- /dev/null +++ b/server/src/objects/Player.ts @@ -0,0 +1,26 @@ +import { PlayerData } from "common"; +import { Socket } from "socket.io"; + +export class Player { + readonly name: string; + + + constructor(socket: Socket, data: PlayerData) { + this.name = data.name; + this._socket = socket + }; + + + // The player's socket data + private _socket: Socket; + + /** The socket that can be used to communicate directly with the player */ + get socket() { return this._socket }; + set socket(value: Socket) { + if (!this._socket.connected) { + this._socket = value; + } else { + throw Error("Cannot overwrite a player's socket that is connected."); + }; + }; +}; \ No newline at end of file