FEATURE: clicking on another player show a contact card when possible
This commit is contained in:
parent
fffd36267d
commit
c5f3cfe87c
14 changed files with 183 additions and 9 deletions
|
@ -27,7 +27,7 @@ import {
|
|||
WorldFullWarningMessage,
|
||||
UserLeftZoneMessage,
|
||||
EmoteEventMessage,
|
||||
BanUserMessage, RefreshRoomMessage, EmotePromptMessage,
|
||||
BanUserMessage, RefreshRoomMessage, EmotePromptMessage, RequestVisitCardMessage, VisitCardMessage,
|
||||
} from "../Messages/generated/messages_pb";
|
||||
import {User, UserSocket} from "../Model/User";
|
||||
import {ProtobufUtils} from "../Model/Websocket/ProtobufUtils";
|
||||
|
@ -51,6 +51,7 @@ import {Zone} from "_Model/Zone";
|
|||
import Debug from "debug";
|
||||
import {Admin} from "_Model/Admin";
|
||||
import crypto from "crypto";
|
||||
import {adminApi} from "./AdminApi";
|
||||
|
||||
|
||||
const debug = Debug('sockermanager');
|
||||
|
@ -769,6 +770,21 @@ export class SocketManager {
|
|||
emoteEventMessage.setActoruserid(user.id);
|
||||
room.emitEmoteEvent(user, emoteEventMessage);
|
||||
}
|
||||
|
||||
async handleRequestVisitCardMessage(room: GameRoom, user: User, requestvisitcardmessage: RequestVisitCardMessage): Promise<void> {
|
||||
const targetUser = room.getUserById(requestvisitcardmessage.getTargetuserid());
|
||||
if (!targetUser) {
|
||||
throw 'Could not find user for id '+requestvisitcardmessage.getTargetuserid();
|
||||
}
|
||||
const url = await adminApi.fetchVisitCardUrl(targetUser.uuid);
|
||||
|
||||
const visitCardMessage = new VisitCardMessage();
|
||||
visitCardMessage.setUrl(url);
|
||||
const clientMessage = new ServerToClientMessage();
|
||||
clientMessage.setVisitcardmessage(visitCardMessage);
|
||||
|
||||
user.socket.write(clientMessage);
|
||||
}
|
||||
}
|
||||
|
||||
export const socketManager = new SocketManager();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue