Implement follow request / confirmation UI

This commit is contained in:
PizZaKatZe 2021-12-12 16:56:26 +01:00
parent d6ef60a3d8
commit 0a410d289d
11 changed files with 481 additions and 79 deletions

View file

@ -17,7 +17,9 @@ import {
ServerToClientMessage,
CompanionMessage,
EmotePromptMessage,
FollowMeRequestMessage,
FollowRequestMessage,
FollowConfirmationMessage,
FollowAbortMessage,
VariableMessage,
} from "../Messages/generated/messages_pb";
import { UserMovesMessage } from "../Messages/generated/messages_pb";
@ -470,11 +472,18 @@ export class IoSocketController {
client,
message.getEmotepromptmessage() as EmotePromptMessage
);
} else if (message.hasFollowmerequestmessage()) {
socketManager.handleFollowMeRequest(
} else if (message.hasFollowrequestmessage()) {
socketManager.handleFollowRequest(
client,
message.getFollowmerequestmessage() as FollowMeRequestMessage
message.getFollowrequestmessage() as FollowRequestMessage
);
} else if (message.hasFollowconfirmationmessage()) {
socketManager.handleFollowConfirmation(
client,
message.getFollowconfirmationmessage() as FollowConfirmationMessage
);
} else if (message.hasFollowabortmessage()) {
socketManager.handleFollowAbort(client, message.getFollowabortmessage() as FollowAbortMessage);
}
/* Ok is false if backpressure was built up, wait for drain */

View file

@ -8,7 +8,9 @@ import {
CharacterLayerMessage,
EmoteEventMessage,
EmotePromptMessage,
FollowMeRequestMessage,
FollowRequestMessage,
FollowConfirmationMessage,
FollowAbortMessage,
GroupDeleteMessage,
ItemEventMessage,
JoinRoomMessage,
@ -270,9 +272,21 @@ export class SocketManager implements ZoneEventListener {
this.handleViewport(client, viewport.toObject());
}
handleFollowMeRequest(client: ExSocketInterface, requestMessage: FollowMeRequestMessage): void {
handleFollowRequest(client: ExSocketInterface, message: FollowRequestMessage): void {
const pusherToBackMessage = new PusherToBackMessage();
pusherToBackMessage.setFollowmerequestmessage(requestMessage);
pusherToBackMessage.setFollowrequestmessage(message);
client.backConnection.write(pusherToBackMessage);
}
handleFollowConfirmation(client: ExSocketInterface, message: FollowConfirmationMessage): void {
const pusherToBackMessage = new PusherToBackMessage();
pusherToBackMessage.setFollowconfirmationmessage(message);
client.backConnection.write(pusherToBackMessage);
}
handleFollowAbort(client: ExSocketInterface, message: FollowAbortMessage): void {
const pusherToBackMessage = new PusherToBackMessage();
pusherToBackMessage.setFollowabortmessage(message);
client.backConnection.write(pusherToBackMessage);
}