rs_pixel/types/
lobby_type.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize, Debug)]
4pub struct LobbyType(&'static str);
5
6impl From<String> for LobbyType {
7 fn from(v: String) -> Self {
8 match v.as_str() {
9 "MAIN" => LobbyType::MAIN,
10 "TOURNAMENT" => LobbyType::TOURNAMENT,
11 _ => LobbyType::UNKNOWN,
12 }
13 }
14}
15
16impl LobbyType {
17 pub fn name(&self) -> String {
18 self.0.to_string()
19 }
20
21 pub const MAIN: Self = Self("Main Lobby");
22 pub const TOURNAMENT: Self = Self("Tournament Hall");
23 pub const UNKNOWN: Self = Self("Unknown");
24}