space_traders/models/
ship.rs

1//! Generated by: <https://openapi-generator.tech>
2//!
3//! Version of specification: `2.0.0`
4
5use serde::{Deserialize, Serialize};
6
7/// Ship details.
8#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
9pub struct Ship {
10    /// The globally unique identifier of the ship in the following format: `[AGENT_SYMBOL]-[HEX_ID]`
11    #[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    /// Modules installed in this ship.
26    #[serde(rename = "modules")]
27    pub modules: Vec<crate::models::ShipModule>,
28    /// Mounts installed in this ship.
29    #[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    /// Create value with optional fields set to `None`.
39    #[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}