space_traders/models/
waypoint_type.rs1use serde::{Deserialize, Serialize};
6
7#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
9pub enum WaypointType {
10 #[serde(rename = "PLANET")]
11 Planet,
12 #[serde(rename = "GAS_GIANT")]
13 GasGiant,
14 #[serde(rename = "MOON")]
15 Moon,
16 #[serde(rename = "ORBITAL_STATION")]
17 OrbitalStation,
18 #[serde(rename = "JUMP_GATE")]
19 JumpGate,
20 #[serde(rename = "ASTEROID_FIELD")]
21 AsteroidField,
22 #[serde(rename = "NEBULA")]
23 Nebula,
24 #[serde(rename = "DEBRIS_FIELD")]
25 DebrisField,
26 #[serde(rename = "GRAVITY_WELL")]
27 GravityWell,
28}
29
30impl ToString for WaypointType {
31 fn to_string(&self) -> String {
32 match self {
33 Self::Planet => String::from("PLANET"),
34 Self::GasGiant => String::from("GAS_GIANT"),
35 Self::Moon => String::from("MOON"),
36 Self::OrbitalStation => String::from("ORBITAL_STATION"),
37 Self::JumpGate => String::from("JUMP_GATE"),
38 Self::AsteroidField => String::from("ASTEROID_FIELD"),
39 Self::Nebula => String::from("NEBULA"),
40 Self::DebrisField => String::from("DEBRIS_FIELD"),
41 Self::GravityWell => String::from("GRAVITY_WELL"),
42 }
43 }
44}