Merge branch 'develop' of github.com:thecodingmachine/workadventure into scripting_api_room_metadata
This commit is contained in:
commit
5116b82e77
15 changed files with 133 additions and 113 deletions
|
@ -39,6 +39,7 @@ export type LeavesCallback = (thing: Movable, listener: User) => void;*/
|
|||
export class UserDescriptor {
|
||||
private constructor(
|
||||
public readonly userId: number,
|
||||
private userUuid: string,
|
||||
private name: string,
|
||||
private characterLayers: CharacterLayerMessage[],
|
||||
private position: PositionMessage,
|
||||
|
@ -57,6 +58,7 @@ export class UserDescriptor {
|
|||
}
|
||||
return new UserDescriptor(
|
||||
message.getUserid(),
|
||||
message.getUseruuid(),
|
||||
message.getName(),
|
||||
message.getCharacterlayersList(),
|
||||
position,
|
||||
|
@ -84,6 +86,7 @@ export class UserDescriptor {
|
|||
userJoinedMessage.setVisitcardurl(this.visitCardUrl);
|
||||
}
|
||||
userJoinedMessage.setCompanion(this.companion);
|
||||
userJoinedMessage.setUseruuid(this.userUuid);
|
||||
|
||||
return userJoinedMessage;
|
||||
}
|
||||
|
|
|
@ -29,7 +29,8 @@ import {
|
|||
AdminMessage,
|
||||
BanMessage,
|
||||
RefreshRoomMessage,
|
||||
EmotePromptMessage, VariableMessage,
|
||||
EmotePromptMessage,
|
||||
VariableMessage,
|
||||
} from "../Messages/generated/messages_pb";
|
||||
import { ProtobufUtils } from "../Model/Websocket/ProtobufUtils";
|
||||
import { JITSI_ISS, SECRET_JITSI_KEY } from "../Enum/EnvironmentVariable";
|
||||
|
@ -61,7 +62,6 @@ export interface AdminSocketData {
|
|||
|
||||
export class SocketManager implements ZoneEventListener {
|
||||
private rooms: Map<string, PusherRoom> = new Map<string, PusherRoom>();
|
||||
private sockets: Map<number, ExSocketInterface> = new Map<number, ExSocketInterface>();
|
||||
|
||||
constructor() {
|
||||
clientEventsEmitter.registerToClientJoin((clientUUid: string, roomId: string) => {
|
||||
|
@ -191,8 +191,6 @@ export class SocketManager implements ZoneEventListener {
|
|||
.on("data", (message: ServerToClientMessage) => {
|
||||
if (message.hasRoomjoinedmessage()) {
|
||||
client.userId = (message.getRoomjoinedmessage() as RoomJoinedMessage).getCurrentuserid();
|
||||
// TODO: do we need this.sockets anymore?
|
||||
this.sockets.set(client.userId, client);
|
||||
|
||||
// If this is the first message sent, send back the viewport.
|
||||
this.handleViewport(client, viewport);
|
||||
|
@ -312,14 +310,8 @@ export class SocketManager implements ZoneEventListener {
|
|||
|
||||
async handleReportMessage(client: ExSocketInterface, reportPlayerMessage: ReportPlayerMessage) {
|
||||
try {
|
||||
const reportedSocket = this.sockets.get(reportPlayerMessage.getReporteduserid());
|
||||
if (!reportedSocket) {
|
||||
throw "reported socket user not found";
|
||||
}
|
||||
//TODO report user on admin application
|
||||
//todo: move to back because this fail if the reported player is in another pusher.
|
||||
await adminApi.reportPlayer(
|
||||
reportedSocket.userUuid,
|
||||
reportPlayerMessage.getReporteduseruuid(),
|
||||
reportPlayerMessage.getReportcomment(),
|
||||
client.userUuid,
|
||||
client.roomId.split("/")[2]
|
||||
|
@ -367,9 +359,8 @@ export class SocketManager implements ZoneEventListener {
|
|||
//Client.leave(Client.roomId);
|
||||
} finally {
|
||||
//delete Client.roomId;
|
||||
this.sockets.delete(socket.userId);
|
||||
clientEventsEmitter.emitClientLeave(socket.userUuid, socket.roomId);
|
||||
console.log("A user left (", this.sockets.size, " connected users)");
|
||||
console.log("A user left");
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue