equal
deleted
inserted
replaced
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(); |