equal
deleted
inserted
replaced
189 .send_all() |
189 .send_all() |
190 .in_room(room_id), |
190 .in_room(room_id), |
191 ); |
191 ); |
192 } |
192 } |
193 |
193 |
|
194 pub fn enter_room( |
|
195 server: &mut HWServer, |
|
196 client_id: ClientId, |
|
197 room_id: RoomId, |
|
198 response: &mut Response, |
|
199 ) { |
|
200 let nick = server.clients[client_id].nick.clone(); |
|
201 server.move_to_room(client_id, room_id); |
|
202 |
|
203 response.add(RoomJoined(vec![nick.clone()]).send_all().in_room(room_id)); |
|
204 response.add(ClientFlags(add_flags(&[Flags::InRoom]), vec![nick]).send_all()); |
|
205 let nicks = server.collect_nicks(|(_, c)| c.room_id == Some(room_id)); |
|
206 response.add(RoomJoined(nicks).send_self()); |
|
207 |
|
208 let room = &server.rooms[room_id]; |
|
209 |
|
210 if !room.greeting.is_empty() { |
|
211 response.add( |
|
212 ChatMsg { |
|
213 nick: "[greeting]".to_string(), |
|
214 msg: room.greeting.clone(), |
|
215 } |
|
216 .send_self(), |
|
217 ); |
|
218 } |
|
219 } |
|
220 |
194 pub fn exit_room(server: &mut HWServer, client_id: ClientId, response: &mut Response, msg: &str) { |
221 pub fn exit_room(server: &mut HWServer, client_id: ClientId, response: &mut Response, msg: &str) { |
195 let client = &mut server.clients[client_id]; |
222 let client = &mut server.clients[client_id]; |
196 |
223 |
197 if let Some(room_id) = client.room_id { |
224 if let Some(room_id) = client.room_id { |
198 let room = &mut server.rooms[room_id]; |
225 let room = &mut server.rooms[room_id]; |