get player counts for room lists
This commit is contained in:
		
							parent
							
								
									eef2178df8
								
							
						
					
					
						commit
						38b0cac09b
					
				@ -292,4 +292,14 @@ impl ClientLocation {
 | 
			
		||||
            .map(|lobby| lobby.write().unwrap().remove(id))
 | 
			
		||||
            .any(|k| k);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn get_clients_in_room(&self, room_id: RoomId) -> u8 {
 | 
			
		||||
        self.rooms[room_id.0].as_ref()
 | 
			
		||||
        .unwrap()
 | 
			
		||||
        .read()
 | 
			
		||||
        .unwrap()
 | 
			
		||||
        .clients()
 | 
			
		||||
        .filter(|k| k.is_some())
 | 
			
		||||
        .count() as u8
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -127,10 +127,6 @@ pub struct RoomState {
 | 
			
		||||
    // drop_table
 | 
			
		||||
    // items on ground
 | 
			
		||||
    // enemy info
 | 
			
		||||
    pub difficulty: u8,
 | 
			
		||||
    pub players: u8,
 | 
			
		||||
    pub episode: u8,
 | 
			
		||||
    pub flags: u8,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl RoomState {
 | 
			
		||||
 | 
			
		||||
@ -447,7 +447,7 @@ impl<EG: EntityGateway> ShipServerState<EG> {
 | 
			
		||||
                        menu_id: ROOM_MENU_ID,
 | 
			
		||||
                        item_id: i as u32,
 | 
			
		||||
                        difficulty: room.get_difficulty_for_room_list(),
 | 
			
		||||
                        players: 0, // TODO
 | 
			
		||||
                        players: self.client_location.get_clients_in_room(RoomId(i)), // TODO
 | 
			
		||||
                        name: libpso::utf8_to_utf16_array!(room.name, 16),
 | 
			
		||||
                        episode: room.get_episode_for_room_list(),
 | 
			
		||||
                        flags: room.get_flags_for_room_list(),
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user