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