Getting rid of roomId in Message class (this is not needed since all messages sent are for the room we are currently in)
This commit is contained in:
parent
4d1c3517ec
commit
3b6ace03fa
@ -361,12 +361,12 @@ export class IoSocketController {
|
|||||||
character: Client.character,
|
character: Client.character,
|
||||||
};
|
};
|
||||||
let messageUserPosition = new MessageUserPosition(data);
|
let messageUserPosition = new MessageUserPosition(data);
|
||||||
let world = this.Worlds.get(messageUserPosition.roomId);
|
let world = this.Worlds.get(Client.roomId);
|
||||||
if (!world) {
|
if (!world) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
world.updatePosition(Client, messageUserPosition.position);
|
world.updatePosition(Client, messageUserPosition.position);
|
||||||
this.Worlds.set(messageUserPosition.roomId, world);
|
this.Worlds.set(Client.roomId, world);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Hydrate and manage error
|
//Hydrate and manage error
|
||||||
|
@ -23,19 +23,18 @@ let RefreshUserPositionFunction = function(rooms : ExtRooms, Io: socketIO.Server
|
|||||||
}
|
}
|
||||||
let data = {
|
let data = {
|
||||||
userId: socket.id,
|
userId: socket.id,
|
||||||
roomId: socket.roomId,
|
|
||||||
position: socket.position,
|
position: socket.position,
|
||||||
name: socket.name,
|
name: socket.name,
|
||||||
character: socket.character,
|
character: socket.character,
|
||||||
};
|
};
|
||||||
let dataArray = <any>[];
|
let dataArray = <any>[];
|
||||||
if (mapPositionUserByRoom.get(data.roomId)) {
|
if (mapPositionUserByRoom.get(socket.roomId)) {
|
||||||
dataArray = mapPositionUserByRoom.get(data.roomId);
|
dataArray = mapPositionUserByRoom.get(socket.roomId);
|
||||||
dataArray.push(data);
|
dataArray.push(data);
|
||||||
} else {
|
} else {
|
||||||
dataArray = [data];
|
dataArray = [data];
|
||||||
}
|
}
|
||||||
mapPositionUserByRoom.set(data.roomId, dataArray);
|
mapPositionUserByRoom.set(socket.roomId, dataArray);
|
||||||
}
|
}
|
||||||
rooms.userPositionMapByRoom = Array.from(mapPositionUserByRoom);
|
rooms.userPositionMapByRoom = Array.from(mapPositionUserByRoom);
|
||||||
};
|
};
|
||||||
|
@ -1,16 +1,14 @@
|
|||||||
export class Message {
|
export class Message {
|
||||||
userId: string;
|
userId: string;
|
||||||
roomId: string;
|
|
||||||
name: string;
|
name: string;
|
||||||
character: string;
|
character: string;
|
||||||
|
|
||||||
constructor(data: any) {
|
constructor(data: any) {
|
||||||
if (!data.userId || !data.roomId) {
|
if (!data.userId) {
|
||||||
console.error("Got invalid message", data);
|
console.error("Got invalid message", data);
|
||||||
throw Error("userId or roomId cannot be null");
|
throw Error("userId cannot be null");
|
||||||
}
|
}
|
||||||
this.userId = data.userId;
|
this.userId = data.userId;
|
||||||
this.roomId = data.roomId;
|
|
||||||
this.name = data.name;
|
this.name = data.name;
|
||||||
this.character = data.character;
|
this.character = data.character;
|
||||||
}
|
}
|
||||||
|
@ -3,32 +3,17 @@ import {Message} from "../src/Model/Websocket/Message";
|
|||||||
|
|
||||||
describe("Message Model", () => {
|
describe("Message Model", () => {
|
||||||
it("should find userId and roomId", () => {
|
it("should find userId and roomId", () => {
|
||||||
let message = {userId: "test1", roomId: "test2", name: "foo", character: "user"};
|
let message = {userId: "test1", name: "foo", character: "user"};
|
||||||
let messageObject = new Message(message);
|
let messageObject = new Message(message);
|
||||||
expect(messageObject.userId).toBe("test1");
|
expect(messageObject.userId).toBe("test1");
|
||||||
expect(messageObject.roomId).toBe("test2");
|
|
||||||
expect(messageObject.name).toBe("foo");
|
expect(messageObject.name).toBe("foo");
|
||||||
expect(messageObject.character).toBe("user");
|
expect(messageObject.character).toBe("user");
|
||||||
})
|
})
|
||||||
|
|
||||||
it("should find throw error when no userId", () => {
|
it("should find throw error when no userId", () => {
|
||||||
let message = {roomId: "test2"};
|
let message = {};
|
||||||
expect(() => {
|
expect(() => {
|
||||||
let messageObject = new Message(message);
|
let messageObject = new Message(message);
|
||||||
}).toThrow(new Error("userId or roomId cannot be null"));
|
}).toThrow(new Error("userId cannot be null"));
|
||||||
});
|
|
||||||
|
|
||||||
it("should find throw error when no roomId", () => {
|
|
||||||
let message = {userId: "test1"};
|
|
||||||
expect(() => {
|
|
||||||
let messageObject = new Message(message);
|
|
||||||
}).toThrow(new Error("userId or roomId cannot be null"));
|
|
||||||
});
|
|
||||||
|
|
||||||
it("should find throw error when no roomId", () => {
|
|
||||||
let message = {name: "foo"};
|
|
||||||
expect(() => {
|
|
||||||
let messageObject = new Message(message);
|
|
||||||
}).toThrow(new Error("userId or roomId cannot be null"));
|
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
@ -26,13 +26,11 @@ enum EventMessage{
|
|||||||
|
|
||||||
class Message {
|
class Message {
|
||||||
userId: string;
|
userId: string;
|
||||||
roomId: string;
|
|
||||||
name: string;
|
name: string;
|
||||||
character: string;
|
character: string;
|
||||||
|
|
||||||
constructor(userId : string, roomId : string, name: string, character: string) {
|
constructor(userId : string, name: string, character: string) {
|
||||||
this.userId = userId;
|
this.userId = userId;
|
||||||
this.roomId = roomId;
|
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.character = character;
|
this.character = character;
|
||||||
}
|
}
|
||||||
@ -61,7 +59,6 @@ class Point implements PointInterface{
|
|||||||
|
|
||||||
export interface MessageUserPositionInterface {
|
export interface MessageUserPositionInterface {
|
||||||
userId: string;
|
userId: string;
|
||||||
roomId: string;
|
|
||||||
name: string;
|
name: string;
|
||||||
character: string;
|
character: string;
|
||||||
position: PointInterface;
|
position: PointInterface;
|
||||||
@ -70,8 +67,8 @@ export interface MessageUserPositionInterface {
|
|||||||
class MessageUserPosition extends Message implements MessageUserPositionInterface{
|
class MessageUserPosition extends Message implements MessageUserPositionInterface{
|
||||||
position: PointInterface;
|
position: PointInterface;
|
||||||
|
|
||||||
constructor(userId : string, roomId : string, point : Point, name: string, character: string) {
|
constructor(userId : string, point : Point, name: string, character: string) {
|
||||||
super(userId, roomId, name, character);
|
super(userId, name, character);
|
||||||
this.position = point;
|
this.position = point;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -91,7 +88,6 @@ class ListMessageUserPosition {
|
|||||||
data.forEach((userPosition: any) => {
|
data.forEach((userPosition: any) => {
|
||||||
this.listUsersPosition.push(new MessageUserPosition(
|
this.listUsersPosition.push(new MessageUserPosition(
|
||||||
userPosition.userId,
|
userPosition.userId,
|
||||||
userPosition.roomId,
|
|
||||||
new Point(
|
new Point(
|
||||||
userPosition.position.x,
|
userPosition.position.x,
|
||||||
userPosition.position.y,
|
userPosition.position.y,
|
||||||
|
Loading…
Reference in New Issue
Block a user