space_traders/models/
shipyard_ship.rs1use serde::{Deserialize, Serialize};
6
7#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
9pub struct ShipyardShip {
10 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
11 pub r#type: Option<crate::models::ShipType>,
12 #[serde(rename = "name")]
13 pub name: String,
14 #[serde(rename = "description")]
15 pub description: String,
16 #[serde(rename = "purchasePrice")]
17 pub purchase_price: i32,
18 #[serde(rename = "frame")]
19 pub frame: crate::models::ShipFrame,
20 #[serde(rename = "reactor")]
21 pub reactor: crate::models::ShipReactor,
22 #[serde(rename = "engine")]
23 pub engine: crate::models::ShipEngine,
24 #[serde(rename = "modules")]
25 pub modules: Vec<crate::models::ShipModule>,
26 #[serde(rename = "mounts")]
27 pub mounts: Vec<crate::models::ShipMount>,
28}
29
30impl ShipyardShip {
31 #[allow(clippy::too_many_arguments)]
33 pub fn new(
34 name: String,
35 description: String,
36 purchase_price: i32,
37 frame: crate::models::ShipFrame,
38 reactor: crate::models::ShipReactor,
39 engine: crate::models::ShipEngine,
40 modules: Vec<crate::models::ShipModule>,
41 mounts: Vec<crate::models::ShipMount>,
42 ) -> ShipyardShip {
43 ShipyardShip {
44 r#type: None,
45 name,
46 description,
47 purchase_price,
48 frame,
49 reactor,
50 engine,
51 modules,
52 mounts,
53 }
54 }
55}