fix player count

This commit is contained in:
Cedric Hutchings
2019-06-29 17:16:16 -05:00
parent 6289a097a5
commit af0358c7c8
2 changed files with 10 additions and 10 deletions

View File

@ -295,20 +295,20 @@ fn handle_players(server: &mut Server, entity: EcsEntity, _args: String, _action
let ecs = server.state.ecs(); let ecs = server.state.ecs();
let players = ecs.read_storage::<comp::Player>(); let players = ecs.read_storage::<comp::Player>();
let count = players.join().count(); let count = players.join().count();
let mut str: String = format!("Online players ({})", count); let mut header_message: String = format!("{} online players: \n", count);
if count > 0 { if count > 0 {
str += ": "; let mut player_iter = players.join();
let mut player_list: String = players.join().fold(String::new(), |mut s, player| { let first = player_iter.next().unwrap().alias.to_owned();
s += &player.alias; let player_list = player_iter
s += ","; .fold(first, |s, p| {
s format!("{},\n{}", s, p.alias)
}); });
player_list.pop();
server server
.clients .clients
.notify(entity, ServerMsg::Chat(str + &player_list)); .notify(entity, ServerMsg::Chat(header_message + &player_list));
} else { } else {
server.clients.notify(entity, ServerMsg::Chat(str)); server.clients.notify(entity, ServerMsg::Chat(header_message));
} }
} }