rs_pixel/types/
gamemode.rs

1use serde::{Deserialize, Serialize, Serializer};
2
3#[derive(Deserialize, Debug, Default)]
4pub enum Gamemode {
5    #[default]
6    Regular,
7    Ironman,
8    Stranded,
9    Bingo,
10}
11
12impl Serialize for Gamemode {
13    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
14    where
15        S: Serializer,
16    {
17        serializer.serialize_str(match self {
18            Self::Regular => "",
19            Self::Ironman => "ironman",
20            Self::Stranded => "island",
21            Self::Bingo => "bingo",
22        })
23    }
24}