rust/hedgewars-server/src/handlers/common.rs
changeset 15441 61a0bd0bb021
parent 15439 a158ff8f84ef
child 15482 4cc9ec732392
equal deleted inserted replaced
15440:96e438b114f0 15441:61a0bd0bb021
    33         nick: "[random]".to_string(),
    33         nick: "[random]".to_string(),
    34         msg: reply,
    34         msg: reply,
    35     }
    35     }
    36 }
    36 }
    37 
    37 
    38 pub fn join_lobby(server: &mut HwServer, response: &mut Response) {
    38 pub fn get_lobby_join_data(server: &HwServer, response: &mut Response) {
    39     let client_id = response.client_id();
    39     let client_id = response.client_id();
    40 
    40 
    41     let client = &server.clients[client_id];
    41     let client = server.client(client_id);
    42     let nick = vec![client.nick.clone()];
    42     let nick = vec![client.nick.clone()];
    43     let mut flags = vec![];
    43     let mut flags = vec![];
    44     if client.is_registered() {
    44     if client.is_registered() {
    45         flags.push(Flags::Registered)
    45         flags.push(Flags::Registered)
    46     }
    46     }
    67             Flags::InRoom,
    67             Flags::InRoom,
    68             server.collect_nicks(|(_, c)| c.room_id.is_some()),
    68             server.collect_nicks(|(_, c)| c.room_id.is_some()),
    69         ),
    69         ),
    70     ];
    70     ];
    71 
    71 
    72     let server_msg = ServerMessage(server.get_greetings(client_id).to_string());
    72     let server_msg = ServerMessage(server.get_greetings(client).to_string());
    73 
    73 
    74     let rooms_msg = Rooms(
    74     let rooms_msg = Rooms(
    75         server
    75         server
    76             .rooms
    76             .rooms
    77             .iter()
    77             .iter()
   336 
   336 
   337     exit_room(server, client_id, response, &msg);
   337     exit_room(server, client_id, response, &msg);
   338 
   338 
   339     server.remove_client(client_id);
   339     server.remove_client(client_id);
   340 
   340 
   341     response.add(LobbyLeft(nick, msg.to_string()).send_all());
   341     response.add(LobbyLeft(nick, msg.clone()).send_all());
   342     response.add(Bye("User quit: ".to_string() + &msg).send_self());
   342     response.add(Bye(msg).send_self());
   343     response.remove_client(client_id);
   343     response.remove_client(client_id);
   344 }
   344 }
   345 
   345 
   346 pub fn get_room_update(
   346 pub fn get_room_update(
   347     room_name: Option<String>,
   347     room_name: Option<String>,