Adding USER_LEFT message to protobuf
This commit is contained in:
parent
2dad601311
commit
0c4c43f88c
@ -27,7 +27,7 @@ import {
|
|||||||
SetPlayerDetailsMessage,
|
SetPlayerDetailsMessage,
|
||||||
SubMessage,
|
SubMessage,
|
||||||
UserMovedMessage,
|
UserMovedMessage,
|
||||||
BatchMessage, GroupUpdateMessage, PointMessage, GroupDeleteMessage, UserJoinedMessage
|
BatchMessage, GroupUpdateMessage, PointMessage, GroupDeleteMessage, UserJoinedMessage, UserLeftMessage
|
||||||
} from "../Messages/generated/messages_pb";
|
} from "../Messages/generated/messages_pb";
|
||||||
import {UserMovesMessage} from "../Messages/generated/messages_pb";
|
import {UserMovesMessage} from "../Messages/generated/messages_pb";
|
||||||
import Direction = PositionMessage.Direction;
|
import Direction = PositionMessage.Direction;
|
||||||
@ -580,8 +580,7 @@ export class IoSocketController {
|
|||||||
const clientListener = this.searchClientByIdOrFail(listener.id);
|
const clientListener = this.searchClientByIdOrFail(listener.id);
|
||||||
if (thing instanceof User) {
|
if (thing instanceof User) {
|
||||||
const clientUser = this.searchClientByIdOrFail(thing.id);
|
const clientUser = this.searchClientByIdOrFail(thing.id);
|
||||||
clientListener.emit(SocketIoEvent.USER_LEFT, clientUser.userId);
|
this.emitUserLeftEvent(clientListener, clientUser.userId);
|
||||||
//console.log("Sending USER_LEFT event");
|
|
||||||
} else if (thing instanceof Group) {
|
} else if (thing instanceof Group) {
|
||||||
this.emitDeleteGroupEvent(clientListener, thing.getId());
|
this.emitDeleteGroupEvent(clientListener, thing.getId());
|
||||||
} else {
|
} else {
|
||||||
@ -629,6 +628,17 @@ export class IoSocketController {
|
|||||||
emitInBatch(client, SocketIoEvent.GROUP_DELETE, subMessage);
|
emitInBatch(client, SocketIoEvent.GROUP_DELETE, subMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private emitUserLeftEvent(socket: Socket, userId: number): void {
|
||||||
|
const userLeftMessage = new UserLeftMessage();
|
||||||
|
userLeftMessage.setUserid(userId);
|
||||||
|
|
||||||
|
const subMessage = new SubMessage();
|
||||||
|
subMessage.setUserleftmessage(userLeftMessage);
|
||||||
|
|
||||||
|
const client : ExSocketInterface = socket as ExSocketInterface;
|
||||||
|
emitInBatch(client, SocketIoEvent.USER_LEFT, subMessage);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param socket
|
* @param socket
|
||||||
|
@ -4,7 +4,7 @@ import {MessageUI} from "./Logger/MessageUI";
|
|||||||
import {
|
import {
|
||||||
BatchMessage, GroupDeleteMessage, GroupUpdateMessage,
|
BatchMessage, GroupDeleteMessage, GroupUpdateMessage,
|
||||||
PositionMessage,
|
PositionMessage,
|
||||||
SetPlayerDetailsMessage, UserJoinedMessage, UserMovedMessage,
|
SetPlayerDetailsMessage, UserJoinedMessage, UserLeftMessage, UserMovedMessage,
|
||||||
UserMovesMessage,
|
UserMovesMessage,
|
||||||
ViewportMessage
|
ViewportMessage
|
||||||
} from "./Messages/generated/messages_pb"
|
} from "./Messages/generated/messages_pb"
|
||||||
@ -170,6 +170,9 @@ export class Connection implements Connection {
|
|||||||
} else if (message.hasUserjoinedmessage()) {
|
} else if (message.hasUserjoinedmessage()) {
|
||||||
event = EventMessage.JOIN_ROOM;
|
event = EventMessage.JOIN_ROOM;
|
||||||
payload = message.getUserjoinedmessage();
|
payload = message.getUserjoinedmessage();
|
||||||
|
} else if (message.hasUserleftmessage()) {
|
||||||
|
event = EventMessage.USER_LEFT;
|
||||||
|
payload = message.getUserleftmessage();
|
||||||
} else {
|
} else {
|
||||||
throw new Error('Unexpected batch message type');
|
throw new Error('Unexpected batch message type');
|
||||||
}
|
}
|
||||||
@ -320,7 +323,9 @@ export class Connection implements Connection {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public onUserLeft(callback: (userId: number) => void): void {
|
public onUserLeft(callback: (userId: number) => void): void {
|
||||||
this.socket.on(EventMessage.USER_LEFT, callback);
|
this.onBatchMessage(EventMessage.USER_LEFT, (message: UserLeftMessage) => {
|
||||||
|
callback(message.getUserid());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public onGroupUpdatedOrCreated(callback: (groupCreateUpdateMessage: GroupCreatedUpdatedMessageInterface) => void): void {
|
public onGroupUpdatedOrCreated(callback: (groupCreateUpdateMessage: GroupCreatedUpdatedMessageInterface) => void): void {
|
||||||
|
@ -53,6 +53,7 @@ message SubMessage {
|
|||||||
GroupUpdateMessage groupUpdateMessage = 2;
|
GroupUpdateMessage groupUpdateMessage = 2;
|
||||||
GroupDeleteMessage groupDeleteMessage = 3;
|
GroupDeleteMessage groupDeleteMessage = 3;
|
||||||
UserJoinedMessage userJoinedMessage = 4;
|
UserJoinedMessage userJoinedMessage = 4;
|
||||||
|
UserLeftMessage userLeftMessage = 5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,3 +77,7 @@ message UserJoinedMessage {
|
|||||||
repeated string characterLayers = 3;
|
repeated string characterLayers = 3;
|
||||||
PositionMessage position = 4;
|
PositionMessage position = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message UserLeftMessage {
|
||||||
|
int32 userId = 1;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user