ed_journals/modules/logs/content/log_event_content/
codex_entry_event.rs1use serde::{Deserialize, Serialize};
4
5use crate::modules::exploration::CodexEntry;
6use crate::modules::galaxy::Region;
7
8#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
10#[serde(rename_all = "PascalCase")]
11pub struct CodexEntryEvent {
12 #[serde(rename = "EntryID")]
14 pub entry_id: u64,
15
16 pub name: CodexEntry,
18
19 #[serde(rename = "Name_Localised")]
21 pub name_localized: Option<String>,
22
23 pub category: CodexEntryEventCategory,
25
26 #[serde(rename = "Category_Localised")]
28 pub category_localized: Option<String>,
29
30 pub sub_category: CodexEntryEventSubcategory,
32
33 #[serde(rename = "SubCategory_Localised")]
35 pub sub_category_localized: Option<String>,
36
37 pub region: Region,
39
40 #[serde(rename = "Region_Localised")]
42 pub region_localized: Option<String>,
43
44 pub system: String,
46
47 pub system_address: u64,
49
50 #[serde(rename = "BodyID")]
52 pub body_id: Option<u8>,
53
54 pub nearest_destination: Option<String>,
56
57 pub planetary_location: Option<CodexEntryEventPlanetaryLocation>,
59
60 #[serde(default)]
62 pub is_new_entry: bool,
63}
64
65#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
67pub enum CodexEntryEventCategory {
68 #[serde(rename = "$Codex_Category_Biology;")]
70 Biology,
71
72 #[serde(rename = "$Codex_Category_StellarBodies;")]
74 StellarBodies,
75
76 #[serde(rename = "$Codex_Category_Civilisations;")]
78 Civilizations,
79
80 #[cfg(feature = "allow-unknown")]
82 #[cfg_attr(docsrs, doc(cfg(feature = "allow-unknown")))]
83 #[serde(untagged)]
84 Unknown(String),
85}
86
87#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
89pub enum CodexEntryEventSubcategory {
90 #[serde(rename = "$Codex_SubCategory_Organic_Structures;")]
92 OrganicStructures,
93
94 #[serde(rename = "$Codex_SubCategory_Stars;")]
96 Stars,
97
98 #[serde(rename = "$Codex_SubCategory_Terrestrials;")]
100 Terrestrials,
101
102 #[serde(rename = "$Codex_SubCategory_Gas_Giants;")]
104 GasGiants,
105
106 #[serde(rename = "$Codex_SubCategory_Geology_and_Anomalies;")]
107 GeologyAndAnomalies,
108
109 #[serde(rename = "$Codex_SubCategory_Thargoid;")]
111 Thargoid,
112
113 #[cfg(feature = "allow-unknown")]
115 #[cfg_attr(docsrs, doc(cfg(feature = "allow-unknown")))]
116 #[serde(untagged)]
117 Unknown(String),
118}
119
120#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
122#[serde(rename_all = "PascalCase")]
123pub struct CodexEntryEventPlanetaryLocation {
124 pub latitude: f32,
126
127 pub longitude: f32,
129}