equal
deleted
inserted
replaced
209 c.is_ready = false; |
209 c.is_ready = false; |
210 c.is_master = false; |
210 c.is_master = false; |
211 } |
211 } |
212 let flags_msg = ClientFlags("+i".to_string(), vec![c.nick.clone()]); |
212 let flags_msg = ClientFlags("+i".to_string(), vec![c.nick.clone()]); |
213 |
213 |
214 vec![RoomJoined(vec![c.nick.clone()]).send_all().in_room(room_id).action(), |
214 let mut v = vec![ |
215 flags_msg.send_all().action(), |
215 RoomJoined(vec![c.nick.clone()]).send_all().in_room(room_id).action(), |
216 SendRoomUpdate(None)] |
216 flags_msg.send_all().action(), |
|
217 SendRoomUpdate(None)]; |
|
218 if !c.is_master { |
|
219 v.push(ConfigEntry("FULLMAPCONFIG".to_string(), r.map_config()) |
|
220 .send_self().action()); |
|
221 for cfg in r.game_config().into_iter() { |
|
222 v.push(cfg.into_server_msg().send_self().action()); |
|
223 } |
|
224 } |
|
225 v |
217 }; |
226 }; |
218 server.react(client_id, actions); |
227 server.react(client_id, actions); |
219 }, |
228 }, |
220 MoveToLobby(msg) => { |
229 MoveToLobby(msg) => { |
221 let mut actions = Vec::new(); |
230 let mut actions = Vec::new(); |
272 } |
281 } |
273 new_id.map(|id| server.clients[id].is_master = true); |
282 new_id.map(|id| server.clients[id].is_master = true); |
274 server.react(client_id, actions); |
283 server.react(client_id, actions); |
275 } |
284 } |
276 RemoveTeam(name) => { |
285 RemoveTeam(name) => { |
277 let actions = if let (c, Some(r)) = server.client_and_room(client_id) { |
286 let actions = if let (_, Some(r)) = server.client_and_room(client_id) { |
278 r.remove_team(&name); |
287 r.remove_team(&name); |
279 vec![TeamRemove(name).send_all().in_room(r.id).action(), |
288 vec![TeamRemove(name).send_all().in_room(r.id).action(), |
280 SendRoomUpdate(None)] |
289 SendRoomUpdate(None)] |
281 } else { |
290 } else { |
282 Vec::new() |
291 Vec::new() |