space_traders/models/
waypoint.rs1use serde::{Deserialize, Serialize};
6
7#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
9pub struct Waypoint {
10 #[serde(rename = "symbol")]
12 pub symbol: String,
13 #[serde(rename = "type")]
14 pub r#type: crate::models::WaypointType,
15 #[serde(rename = "systemSymbol")]
17 pub system_symbol: String,
18 #[serde(rename = "x")]
20 pub x: i32,
21 #[serde(rename = "y")]
23 pub y: i32,
24 #[serde(rename = "orbitals")]
26 pub orbitals: Vec<crate::models::WaypointOrbital>,
27 #[serde(rename = "faction", skip_serializing_if = "Option::is_none")]
28 pub faction: Option<crate::models::WaypointFaction>,
29 #[serde(rename = "traits")]
31 pub traits: Vec<crate::models::WaypointTrait>,
32 #[serde(rename = "chart", skip_serializing_if = "Option::is_none")]
33 pub chart: Option<crate::models::Chart>,
34}
35
36impl Waypoint {
37 #[allow(clippy::too_many_arguments)]
39 pub fn new(
40 symbol: String,
41 r#type: crate::models::WaypointType,
42 system_symbol: String,
43 x: i32,
44 y: i32,
45 orbitals: Vec<crate::models::WaypointOrbital>,
46 traits: Vec<crate::models::WaypointTrait>,
47 ) -> Waypoint {
48 Waypoint {
49 symbol,
50 r#type,
51 system_symbol,
52 x,
53 y,
54 orbitals,
55 faction: None,
56 traits,
57 chart: None,
58 }
59 }
60}