space_traders/models/
ship_role.rs1use serde::{Deserialize, Serialize};
6
7#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
9pub enum ShipRole {
10 #[serde(rename = "FABRICATOR")]
11 Fabricator,
12 #[serde(rename = "HARVESTER")]
13 Harvester,
14 #[serde(rename = "HAULER")]
15 Hauler,
16 #[serde(rename = "INTERCEPTOR")]
17 Interceptor,
18 #[serde(rename = "EXCAVATOR")]
19 Excavator,
20 #[serde(rename = "TRANSPORT")]
21 Transport,
22 #[serde(rename = "REPAIR")]
23 Repair,
24 #[serde(rename = "SURVEYOR")]
25 Surveyor,
26 #[serde(rename = "COMMAND")]
27 Command,
28 #[serde(rename = "CARRIER")]
29 Carrier,
30 #[serde(rename = "PATROL")]
31 Patrol,
32 #[serde(rename = "SATELLITE")]
33 Satellite,
34 #[serde(rename = "EXPLORER")]
35 Explorer,
36 #[serde(rename = "REFINERY")]
37 Refinery,
38}
39
40impl ToString for ShipRole {
41 fn to_string(&self) -> String {
42 match self {
43 Self::Fabricator => String::from("FABRICATOR"),
44 Self::Harvester => String::from("HARVESTER"),
45 Self::Hauler => String::from("HAULER"),
46 Self::Interceptor => String::from("INTERCEPTOR"),
47 Self::Excavator => String::from("EXCAVATOR"),
48 Self::Transport => String::from("TRANSPORT"),
49 Self::Repair => String::from("REPAIR"),
50 Self::Surveyor => String::from("SURVEYOR"),
51 Self::Command => String::from("COMMAND"),
52 Self::Carrier => String::from("CARRIER"),
53 Self::Patrol => String::from("PATROL"),
54 Self::Satellite => String::from("SATELLITE"),
55 Self::Explorer => String::from("EXPLORER"),
56 Self::Refinery => String::from("REFINERY"),
57 }
58 }
59}