rust/hedgewars-server/src/server/handlers/common.rs
changeset 14799 e41131607167
parent 14798 d11481978633
child 14800 2107fd023733
equal deleted inserted replaced
14798:d11481978633 14799:e41131607167
   237     response.add(RoomJoined(vec![nick.clone()]).send_all().in_room(room_id));
   237     response.add(RoomJoined(vec![nick.clone()]).send_all().in_room(room_id));
   238     response.add(ClientFlags(add_flags(&[Flags::InRoom]), vec![nick]).send_all());
   238     response.add(ClientFlags(add_flags(&[Flags::InRoom]), vec![nick]).send_all());
   239     let nicks = server.collect_nicks(|(_, c)| c.room_id == Some(room_id));
   239     let nicks = server.collect_nicks(|(_, c)| c.room_id == Some(room_id));
   240     response.add(RoomJoined(nicks).send_self());
   240     response.add(RoomJoined(nicks).send_self());
   241 
   241 
       
   242     get_room_teams(server, room_id, client_id, response);
       
   243 
   242     let room = &server.rooms[room_id];
   244     let room = &server.rooms[room_id];
       
   245     get_room_config(room, client_id, response);
       
   246 
       
   247     let mut flag_selectors = [
       
   248         (
       
   249             Flags::RoomMaster,
       
   250             server.collect_nicks(|(_, c)| c.is_master()),
       
   251         ),
       
   252         (Flags::Ready, server.collect_nicks(|(_, c)| c.is_ready())),
       
   253         (Flags::InGame, server.collect_nicks(|(_, c)| c.is_in_game())),
       
   254     ];
       
   255 
       
   256     for (flag, nicks) in &mut flag_selectors {
       
   257         response.add(ClientFlags(add_flags(&[*flag]), replace(nicks, vec![])).send_self());
       
   258     }
   243 
   259 
   244     if !room.greeting.is_empty() {
   260     if !room.greeting.is_empty() {
   245         response.add(
   261         response.add(
   246             ChatMsg {
   262             ChatMsg {
   247                 nick: "[greeting]".to_string(),
   263                 nick: "[greeting]".to_string(),