space_traders/models/
ship_type.rs1use serde::{Deserialize, Serialize};
6
7#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
9pub enum ShipType {
10 #[serde(rename = "SHIP_PROBE")]
11 Probe,
12 #[serde(rename = "SHIP_MINING_DRONE")]
13 MiningDrone,
14 #[serde(rename = "SHIP_INTERCEPTOR")]
15 Interceptor,
16 #[serde(rename = "SHIP_LIGHT_HAULER")]
17 LightHauler,
18 #[serde(rename = "SHIP_COMMAND_FRIGATE")]
19 CommandFrigate,
20 #[serde(rename = "SHIP_EXPLORER")]
21 Explorer,
22 #[serde(rename = "SHIP_HEAVY_FREIGHTER")]
23 HeavyFreighter,
24 #[serde(rename = "SHIP_LIGHT_SHUTTLE")]
25 LightShuttle,
26 #[serde(rename = "SHIP_ORE_HOUND")]
27 OreHound,
28 #[serde(rename = "SHIP_REFINING_FREIGHTER")]
29 RefiningFreighter,
30}
31
32impl ToString for ShipType {
33 fn to_string(&self) -> String {
34 match self {
35 Self::Probe => String::from("SHIP_PROBE"),
36 Self::MiningDrone => String::from("SHIP_MINING_DRONE"),
37 Self::Interceptor => String::from("SHIP_INTERCEPTOR"),
38 Self::LightHauler => String::from("SHIP_LIGHT_HAULER"),
39 Self::CommandFrigate => String::from("SHIP_COMMAND_FRIGATE"),
40 Self::Explorer => String::from("SHIP_EXPLORER"),
41 Self::HeavyFreighter => String::from("SHIP_HEAVY_FREIGHTER"),
42 Self::LightShuttle => String::from("SHIP_LIGHT_SHUTTLE"),
43 Self::OreHound => String::from("SHIP_ORE_HOUND"),
44 Self::RefiningFreighter => String::from("SHIP_REFINING_FREIGHTER"),
45 }
46 }
47}