rust/hedgewars-server/src/core/room.rs
changeset 15482 4cc9ec732392
parent 15075 e935b1ad23f3
child 15525 16d3c9acd715
equal deleted inserted replaced
15481:58ce582ae87d 15482:4cc9ec732392
   140         };
   140         };
   141         self.teams.push((owner_id, team));
   141         self.teams.push((owner_id, team));
   142         &self.teams.last().unwrap().1
   142         &self.teams.last().unwrap().1
   143     }
   143     }
   144 
   144 
   145     pub fn remove_team(&mut self, name: &str) {
   145     pub fn remove_team(&mut self, team_name: &str) {
   146         if let Some(index) = self.teams.iter().position(|(_, t)| t.name == name) {
   146         if let Some(index) = self.teams.iter().position(|(_, t)| t.name == team_name) {
   147             self.teams.remove(index);
   147             self.teams.remove(index);
       
   148 
       
   149             if let Some(info) = &mut self.game_info {
       
   150                 info.left_teams.push(team_name.to_string());
       
   151                 info.teams_in_game -= 1;
       
   152 
       
   153                 if let Some(m) = &info.sync_msg {
       
   154                     info.msg_log.push(m.clone());
       
   155                     info.sync_msg = None
       
   156                 }
       
   157                 let remove_msg =
       
   158                     crate::utils::to_engine_msg(iter::once(b'F').chain(team_name.bytes()));
       
   159                 info.msg_log.push(remove_msg.clone());
       
   160             }
   148         }
   161         }
   149     }
   162     }
   150 
   163 
   151     pub fn set_hedgehogs_number(&mut self, n: u8) -> Vec<String> {
   164     pub fn set_hedgehogs_number(&mut self, n: u8) -> Vec<String> {
   152         let mut names = Vec::new();
   165         let mut names = Vec::new();