From b20357c1ee31fdb0d7db50b00ba4697d56c1eacf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20N=C3=A9grier?= Date: Sat, 16 May 2020 15:44:40 +0200 Subject: [PATCH] Removing the Message class and merging it with MessageUserPosition (since it is only ever used it in MessageUserPosition) Taking advantage of the TypeScript Constructor Assignment too to reduce the amount of code! --- back/src/Controller/IoSocketController.ts | 17 ++-------------- back/src/Model/Websocket/Message.ts | 15 -------------- .../Model/Websocket/MessageUserPosition.ts | 20 +++---------------- 3 files changed, 5 insertions(+), 47 deletions(-) delete mode 100644 back/src/Model/Websocket/Message.ts diff --git a/back/src/Controller/IoSocketController.ts b/back/src/Controller/IoSocketController.ts index 93dd8010..9ea88991 100644 --- a/back/src/Controller/IoSocketController.ts +++ b/back/src/Controller/IoSocketController.ts @@ -115,13 +115,7 @@ export class IoSocketController { //add function to refresh position user in real time. this.refreshUserPosition(Client); - let messageUserPosition = new MessageUserPosition({ - userId: Client.id, - roomId: Client.roomId, - name: Client.name, - character: Client.character, - position: new Point(0, 0, 'none') - }); + let messageUserPosition = new MessageUserPosition(Client.id, Client.name, Client.character,new Point(0, 0, 'none')); socket.to(roomId).emit(SockerIoEvent.JOIN_ROOM, messageUserPosition); } catch (e) { @@ -353,14 +347,7 @@ export class IoSocketController { rooms.refreshUserPosition(rooms, this.Io); // update position in the world - let data = { - userId: Client.id, - roomId: Client.roomId, - position: Client.position, - name: Client.name, - character: Client.character, - }; - let messageUserPosition = new MessageUserPosition(data); + let messageUserPosition = new MessageUserPosition(Client.id, Client.name, Client.character, Client.position); let world = this.Worlds.get(Client.roomId); if (!world) { return; diff --git a/back/src/Model/Websocket/Message.ts b/back/src/Model/Websocket/Message.ts deleted file mode 100644 index 2e928159..00000000 --- a/back/src/Model/Websocket/Message.ts +++ /dev/null @@ -1,15 +0,0 @@ -export class Message { - userId: string; - name: string; - character: string; - - constructor(data: any) { - if (!data.userId) { - console.error("Got invalid message", data); - throw Error("userId cannot be null"); - } - this.userId = data.userId; - this.name = data.name; - this.character = data.character; - } -} diff --git a/back/src/Model/Websocket/MessageUserPosition.ts b/back/src/Model/Websocket/MessageUserPosition.ts index 4f27c26a..8a0c1d51 100644 --- a/back/src/Model/Websocket/MessageUserPosition.ts +++ b/back/src/Model/Websocket/MessageUserPosition.ts @@ -2,25 +2,11 @@ import {Message} from "./Message"; import {PointInterface} from "./PointInterface"; export class Point implements PointInterface{ - x: number; - y: number; - direction: string; - - constructor(x : number, y : number, direction : string = "none") { - if(x === null || y === null){ - throw Error("position x and y cannot be null"); - } - this.x = x; - this.y = y; - this.direction = direction; + constructor(public x : number, public y : number, public direction : string = "none") { } } -export class MessageUserPosition extends Message{ - position: PointInterface; - - constructor(message: any) { - super(message); - this.position = new Point(message.position.x, message.position.y, message.position.direction); +export class MessageUserPosition { + constructor(public userId: string, public name: string, public character: string, public position: PointInterface) { } }