Improve follow abort message; avoid having to change it in backend

This commit is contained in:
PizZaKatZe 2021-12-14 01:35:00 +01:00
parent c2f5501236
commit 7bff782f7f
4 changed files with 28 additions and 32 deletions

View file

@ -853,28 +853,23 @@ export class SocketManager {
}
handleFollowAbortMessage(room: GameRoom, user: User, message: FollowAbortMessage) {
if (message.getRole() === "leader") {
const clientMessage = new ServerToClientMessage();
clientMessage.setFollowabortmessage(message);
if (user.name === message.getLeader()) {
// Forward message
const clientMessage = new ServerToClientMessage();
clientMessage.setFollowabortmessage(message);
room.sendToOthersInGroupIncludingUser(user, clientMessage);
// Update followers
room.getGroupIncludingUser(user)
?.getUsers()
.forEach((user) => {
user.following = [];
});
const group = room.getGroupIncludingUser(user);
group?.getUsers().forEach((user) => {
user.following = [];
});
} else {
// Forward message
const recipient = message.getPlayername();
message.setPlayername(user.name);
const clientMessage = new ServerToClientMessage();
clientMessage.setFollowabortmessage(message);
room.sendToUserWithName(recipient, clientMessage);
room.sendToUserWithName(message.getLeader(), clientMessage);
// Update followers
room.getUserByName(recipient)?.delFollower(user.name);
room.getUserByName(message.getLeader())?.delFollower(user.name);
user.following = [];
}
}