1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use initiative_macros::WordList;
use serde::{Deserialize, Serialize};

#[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize, WordList)]
#[serde(into = "&'static str", try_from = "&str")]
pub enum GovernmentType {
    Court,
    // Dungeon,
    Embassy,
    #[alias = "watch-house"]
    Guardhouse,
    Palace,
    #[alias = "jail"]
    Prison,
}

impl GovernmentType {
    pub const fn get_emoji(&self) -> Option<&'static str> {
        match self {
            Self::Embassy => Some("🚩"),
            Self::Guardhouse | Self::Prison => Some("🛡"),
            Self::Court | Self::Palace => Some("🏰"),
        }
    }
}