use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Default, Deserialize, Serialize, PartialEq, Eq)]
pub struct Round {
#[serde(default)]
pub phase: RoundPhase,
#[serde(default, rename = "bomb")]
pub bomb: BombRoundState,
#[serde(default, rename = "win_team")]
pub win_team: WinningTeam,
}
#[derive(Clone, Copy, Debug, Default, Deserialize, Serialize, PartialEq, Eq, Hash)]
#[serde(rename_all = "lowercase")]
pub enum RoundPhase {
Freezetime,
Live,
Over,
#[serde(other)]
#[default]
Unknown,
}
#[derive(Clone, Copy, Debug, Default, Deserialize, Serialize, PartialEq, Eq, Hash)]
#[serde(rename_all = "lowercase")]
pub enum BombRoundState {
Planted,
Defused,
Exploded,
#[serde(other)]
#[default]
None,
}
#[derive(Clone, Copy, Debug, Default, Deserialize, Serialize, PartialEq, Eq, Hash)]
#[serde(rename_all = "lowercase")]
pub enum WinningTeam {
Ct,
T,
#[serde(other)]
#[default]
None,
}