use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum StarCategory {
Major,
Minor,
Adjective,
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum StarKind {
Major,
Soft,
Tough,
#[serde(rename = "lucun")]
LuCun,
#[serde(rename = "tianma")]
TianMa,
Adjective,
Flower,
Helper,
}
impl StarKind {
pub const fn category(self) -> StarCategory {
match self {
Self::Major => StarCategory::Major,
Self::Soft | Self::Tough | Self::LuCun | Self::TianMa => StarCategory::Minor,
Self::Adjective | Self::Flower | Self::Helper => StarCategory::Adjective,
}
}
}