Fix group icons and audio attenuation

This commit is contained in:
PizZaKatZe 2021-03-19 15:03:55 +01:00
parent e6accd711d
commit 599fdd6ceb
2 changed files with 9 additions and 8 deletions

View File

@ -457,16 +457,12 @@ export class GameScene extends ResizableScene implements CenterListener {
}); });
this.connection.onGroupUpdatedOrCreated((groupPositionMessage: GroupCreatedUpdatedMessageInterface) => { this.connection.onGroupUpdatedOrCreated((groupPositionMessage: GroupCreatedUpdatedMessageInterface) => {
audioManager.decreaseVolume();
this.shareGroupPosition(groupPositionMessage); this.shareGroupPosition(groupPositionMessage);
this.openChatIcon.setVisible(true);
}) })
this.connection.onGroupDeleted((groupId: number) => { this.connection.onGroupDeleted((groupId: number) => {
audioManager.restoreVolume();
try { try {
this.deleteGroup(groupId); this.deleteGroup(groupId);
this.openChatIcon.setVisible(false);
} catch (e) { } catch (e) {
console.error(e); console.error(e);
} }
@ -519,11 +515,15 @@ export class GameScene extends ResizableScene implements CenterListener {
onConnect(user: UserSimplePeerInterface) { onConnect(user: UserSimplePeerInterface) {
self.presentationModeSprite.setVisible(true); self.presentationModeSprite.setVisible(true);
self.chatModeSprite.setVisible(true); self.chatModeSprite.setVisible(true);
self.openChatIcon.setVisible(true);
audioManager.decreaseVolume();
}, },
onDisconnect(userId: number) { onDisconnect(userId: number) {
if (self.simplePeer.getNbConnections() === 0) { if (self.simplePeer.getNbConnections() === 0) {
self.presentationModeSprite.setVisible(false); self.presentationModeSprite.setVisible(false);
self.chatModeSprite.setVisible(false); self.chatModeSprite.setVisible(false);
self.openChatIcon.setVisible(false);
audioManager.restoreVolume();
} }
} }
}) })

View File

@ -63,7 +63,7 @@ export class SimplePeer {
} }
public getNbConnections(): number { public getNbConnections(): number {
return this.PeerConnectionArray.size; return this.Users.length;
} }
/** /**
@ -230,9 +230,6 @@ export class SimplePeer {
this.closeScreenSharingConnection(userId); this.closeScreenSharingConnection(userId);
for (const peerConnectionListener of this.peerConnectionListeners) {
peerConnectionListener.onDisconnect(userId);
}
const userIndex = this.Users.findIndex(user => user.userId === userId); const userIndex = this.Users.findIndex(user => user.userId === userId);
if(userIndex < 0){ if(userIndex < 0){
throw 'Couln\'t delete user'; throw 'Couln\'t delete user';
@ -250,6 +247,10 @@ export class SimplePeer {
this.PeerScreenSharingConnectionArray.delete(userId); this.PeerScreenSharingConnectionArray.delete(userId);
} }
} }
for (const peerConnectionListener of this.peerConnectionListeners) {
peerConnectionListener.onDisconnect(userId);
}
} }
/** /**