use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ShipRole {
#[serde(rename = "FABRICATOR")]
Fabricator,
#[serde(rename = "HARVESTER")]
Harvester,
#[serde(rename = "HAULER")]
Hauler,
#[serde(rename = "INTERCEPTOR")]
Interceptor,
#[serde(rename = "EXCAVATOR")]
Excavator,
#[serde(rename = "TRANSPORT")]
Transport,
#[serde(rename = "REPAIR")]
Repair,
#[serde(rename = "SURVEYOR")]
Surveyor,
#[serde(rename = "COMMAND")]
Command,
#[serde(rename = "CARRIER")]
Carrier,
#[serde(rename = "PATROL")]
Patrol,
#[serde(rename = "SATELLITE")]
Satellite,
#[serde(rename = "EXPLORER")]
Explorer,
#[serde(rename = "REFINERY")]
Refinery,
}
impl ToString for ShipRole {
fn to_string(&self) -> String {
match self {
Self::Fabricator => String::from("FABRICATOR"),
Self::Harvester => String::from("HARVESTER"),
Self::Hauler => String::from("HAULER"),
Self::Interceptor => String::from("INTERCEPTOR"),
Self::Excavator => String::from("EXCAVATOR"),
Self::Transport => String::from("TRANSPORT"),
Self::Repair => String::from("REPAIR"),
Self::Surveyor => String::from("SURVEYOR"),
Self::Command => String::from("COMMAND"),
Self::Carrier => String::from("CARRIER"),
Self::Patrol => String::from("PATROL"),
Self::Satellite => String::from("SATELLITE"),
Self::Explorer => String::from("EXPLORER"),
Self::Refinery => String::from("REFINERY"),
}
}
}