From 1edd3a042e8e6b3dc0388df3ead565121b83acce Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Sun, 9 Jan 2022 01:20:43 -0600 Subject: [PATCH] Add a bare bones Player class, with socket and name data --- server/src/objects/Player.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 server/src/objects/Player.ts 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