35 lines
716 B
Rust
35 lines
716 B
Rust
use crate::{deck::Deck, player::Player};
|
|
use petname::Generator;
|
|
|
|
pub struct Lobby {
|
|
pub id: String,
|
|
pub players: Vec<Player>,
|
|
pub deck: Deck,
|
|
}
|
|
|
|
impl Lobby {
|
|
pub fn new() -> Lobby {
|
|
let players: Vec<Player> = Vec::new();
|
|
let deck = Deck::new().shuffle();
|
|
|
|
let petname = petname::Petnames::default().generate_one(2, "-").expect("no words provided");
|
|
|
|
Lobby {
|
|
id: petname,
|
|
players,
|
|
deck,
|
|
}
|
|
}
|
|
|
|
pub fn join_lobby(mut self, player: Player) {
|
|
self.players.push(player);
|
|
}
|
|
|
|
pub fn get_players(self) -> Vec<Player> {
|
|
self.players
|
|
}
|
|
|
|
pub fn get_deck(self) -> Deck {
|
|
self.deck
|
|
}
|
|
}
|