Adding a Pusher container as a middleware/dispatcher between front and back
This commit is contained in:
parent
6c6d046891
commit
4c1e566a6c
86 changed files with 12172 additions and 983 deletions
|
@ -93,6 +93,7 @@ export class RoomConnection implements RoomConnection {
|
|||
};
|
||||
|
||||
this.socket.onmessage = (messageEvent) => {
|
||||
console.warn('message received');
|
||||
const arrayBuffer: ArrayBuffer = messageEvent.data;
|
||||
const message = ServerToClientMessage.deserializeBinary(new Uint8Array(arrayBuffer));
|
||||
|
||||
|
@ -127,8 +128,8 @@ export class RoomConnection implements RoomConnection {
|
|||
} else if (message.hasRoomjoinedmessage()) {
|
||||
const roomJoinedMessage = message.getRoomjoinedmessage() as RoomJoinedMessage;
|
||||
|
||||
const users: Array<MessageUserJoined> = roomJoinedMessage.getUserList().map(this.toMessageUserJoined.bind(this));
|
||||
const groups: Array<GroupCreatedUpdatedMessageInterface> = roomJoinedMessage.getGroupList().map(this.toGroupCreatedUpdatedMessage.bind(this));
|
||||
//const users: Array<MessageUserJoined> = roomJoinedMessage.getUserList().map(this.toMessageUserJoined.bind(this));
|
||||
//const groups: Array<GroupCreatedUpdatedMessageInterface> = roomJoinedMessage.getGroupList().map(this.toGroupCreatedUpdatedMessage.bind(this));
|
||||
const items: { [itemId: number] : unknown } = {};
|
||||
for (const item of roomJoinedMessage.getItemList()) {
|
||||
items[item.getItemid()] = JSON.parse(item.getStatejson());
|
||||
|
@ -137,9 +138,11 @@ export class RoomConnection implements RoomConnection {
|
|||
this.userId = roomJoinedMessage.getCurrentuserid();
|
||||
this.tags = roomJoinedMessage.getTagList();
|
||||
|
||||
this.dispatch(EventMessage.CONNECT, this);
|
||||
|
||||
this.dispatch(EventMessage.START_ROOM, {
|
||||
users,
|
||||
groups,
|
||||
//users,
|
||||
//groups,
|
||||
items
|
||||
});
|
||||
} else if (message.hasErrormessage()) {
|
||||
|
@ -199,7 +202,7 @@ export class RoomConnection implements RoomConnection {
|
|||
const positionMessage = new PositionMessage();
|
||||
positionMessage.setX(Math.floor(x));
|
||||
positionMessage.setY(Math.floor(y));
|
||||
let directionEnum: PositionMessage.DirectionMap[keyof PositionMessage.DirectionMap];
|
||||
let directionEnum: Direction;
|
||||
switch (direction) {
|
||||
case 'up':
|
||||
directionEnum = Direction.UP;
|
||||
|
@ -355,8 +358,12 @@ export class RoomConnection implements RoomConnection {
|
|||
this.socket.addEventListener('error', callback)
|
||||
}
|
||||
|
||||
public onConnect(callback: (event: Event) => void): void {
|
||||
/*public onConnect(callback: (e: Event) => void): void {
|
||||
this.socket.addEventListener('open', callback)
|
||||
}*/
|
||||
public onConnect(callback: (roomConnection: RoomConnection) => void): void {
|
||||
//this.socket.addEventListener('open', callback)
|
||||
this.onMessage(EventMessage.CONNECT, callback);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue