space_traders/models/
shipyard_ship.rs

1//! Generated by: <https://openapi-generator.tech>
2//!
3//! Version of specification: `2.0.0`
4
5use serde::{Deserialize, Serialize};
6
7///
8#[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    /// Create value with optional fields set to `None`.
32    #[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}