rust/hedgewars-server/src/handlers/common.rs
changeset 15487 91f0c5ec37b5
parent 15482 4cc9ec732392
child 15492 395be40faa51
equal deleted inserted replaced
15486:d668fcb9307e 15487:91f0c5ec37b5
    94         }
    94         }
    95     }
    95     }
    96 
    96 
    97     response.add(server_msg.send_self());
    97     response.add(server_msg.send_self());
    98     response.add(rooms_msg.send_self());
    98     response.add(rooms_msg.send_self());
    99 }
       
   100 
       
   101 pub fn change_master(
       
   102     server: &mut HwServer,
       
   103     room_id: RoomId,
       
   104     new_master_id: ClientId,
       
   105     response: &mut Response,
       
   106 ) {
       
   107     let room = &mut server.rooms[room_id];
       
   108     if let Some(master_id) = room.master_id {
       
   109         server.clients[master_id].set_is_master(false);
       
   110         response.add(
       
   111             ClientFlags(
       
   112                 remove_flags(&[Flags::RoomMaster]),
       
   113                 vec![server.clients[master_id].nick.clone()],
       
   114             )
       
   115             .send_all()
       
   116             .in_room(room_id),
       
   117         )
       
   118     }
       
   119 
       
   120     room.master_id = Some(new_master_id);
       
   121     server.clients[new_master_id].set_is_master(true);
       
   122 
       
   123     response.add(
       
   124         ClientFlags(
       
   125             add_flags(&[Flags::RoomMaster]),
       
   126             vec![server.clients[new_master_id].nick.clone()],
       
   127         )
       
   128         .send_all()
       
   129         .in_room(room_id),
       
   130     );
       
   131 }
    99 }
   132 
   100 
   133 pub fn get_room_join_data<'a, I: Iterator<Item = &'a HwClient> + Clone>(
   101 pub fn get_room_join_data<'a, I: Iterator<Item = &'a HwClient> + Clone>(
   134     client: &HwClient,
   102     client: &HwClient,
   135     room: &HwRoom,
   103     room: &HwRoom,