A multiplayer VR framework w/voice chat

clean up old voice listeners

phaz.uk a8027fc6 74dfcdaf

verified
Changed files
+10 -3
client
src
+5 -3
client/src/components/network_interface.rs
··· 44 44 join_players(packet.ids, &mut commands, &mut meshes, &mut materials, &mut net_manager); 45 45 } 46 46 PacketTypes::PlayerLeavePacket(packet) => { 47 - leave_player(packet.id, &mut commands, players); 47 + leave_player(packet.id, &mut commands, players, &mut net_manager); 48 48 } 49 49 PacketTypes::UpdateClientsPositions(packet) => { 50 50 let mut map = HashMap::new(); ··· 98 98 99 99 fn leave_player( 100 100 id: String, 101 - 102 101 commands: &mut Commands, 103 102 104 - players: Query<(Entity, &mut RemotePlayer)> 103 + players: Query<(Entity, &mut RemotePlayer)>, 104 + net_manager: &mut Connection 105 105 ){ 106 + net_manager.stop_listening_for_player_voice(&id); 107 + 106 108 for ( entity, player ) in players{ 107 109 if id == player.id{ 108 110 commands.entity(entity).despawn();
+5
client/src/net/connection.rs
··· 117 117 voice_queue 118 118 } 119 119 120 + pub fn stop_listening_for_player_voice( &mut self, id: &String ){ 121 + let mut voices = self.voice_queues.write().unwrap(); 122 + voices.remove(id); 123 + } 124 + 120 125 pub fn recv_event(&mut self) -> anyhow::Result<NetClientCommand>{ 121 126 Ok(self.net_recv.try_recv()?) 122 127 }