space_traders/models/
ship.rs1use serde::{Deserialize, Serialize};
6
7#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
9pub struct Ship {
10 #[serde(rename = "symbol")]
12 pub symbol: String,
13 #[serde(rename = "registration")]
14 pub registration: crate::models::ShipRegistration,
15 #[serde(rename = "nav")]
16 pub nav: crate::models::ShipNav,
17 #[serde(rename = "crew")]
18 pub crew: crate::models::ShipCrew,
19 #[serde(rename = "frame")]
20 pub frame: crate::models::ShipFrame,
21 #[serde(rename = "reactor")]
22 pub reactor: crate::models::ShipReactor,
23 #[serde(rename = "engine")]
24 pub engine: crate::models::ShipEngine,
25 #[serde(rename = "modules")]
27 pub modules: Vec<crate::models::ShipModule>,
28 #[serde(rename = "mounts")]
30 pub mounts: Vec<crate::models::ShipMount>,
31 #[serde(rename = "cargo")]
32 pub cargo: crate::models::ShipCargo,
33 #[serde(rename = "fuel")]
34 pub fuel: crate::models::ShipFuel,
35}
36
37impl Ship {
38 #[allow(clippy::too_many_arguments)]
40 pub fn new(
41 symbol: String,
42 registration: crate::models::ShipRegistration,
43 nav: crate::models::ShipNav,
44 crew: crate::models::ShipCrew,
45 frame: crate::models::ShipFrame,
46 reactor: crate::models::ShipReactor,
47 engine: crate::models::ShipEngine,
48 modules: Vec<crate::models::ShipModule>,
49 mounts: Vec<crate::models::ShipMount>,
50 cargo: crate::models::ShipCargo,
51 fuel: crate::models::ShipFuel,
52 ) -> Ship {
53 Ship {
54 symbol,
55 registration,
56 nav,
57 crew,
58 frame,
59 reactor,
60 engine,
61 modules,
62 mounts,
63 cargo,
64 fuel,
65 }
66 }
67}