1use super::class_requires::*;
2use super::*;
3#[allow(non_upper_case_globals, non_snake_case)]
10#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
11#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
12#[derive(educe::Educe)]
13#[educe(Debug, Clone, Default, PartialEq)]
14pub struct hkbSimulationStateInfo {
15 #[cfg_attr(
22 feature = "serde",
23 serde(skip_serializing_if = "Option::is_none", default)
24 )]
25 pub __ptr: Option<Pointer>,
26 #[cfg_attr(feature = "json_schema", schemars(flatten))]
28 #[cfg_attr(feature = "serde", serde(flatten))]
29 pub parent: hkReferencedObject,
30 #[cfg_attr(feature = "json_schema", schemars(rename = "simulationState"))]
35 #[cfg_attr(feature = "serde", serde(rename = "simulationState"))]
36 pub m_simulationState: SimulationState,
37}
38const _: () = {
39 use havok_serde as _serde;
40 impl _serde::HavokClass for hkbSimulationStateInfo {
41 #[inline]
42 fn name(&self) -> &'static str {
43 "hkbSimulationStateInfo"
44 }
45 #[inline]
46 fn signature(&self) -> _serde::__private::Signature {
47 _serde::__private::Signature::new(0xa40822b4)
48 }
49 #[allow(clippy::let_and_return, clippy::vec_init_then_push)]
50 fn deps_indexes(&self) -> Vec<usize> {
51 let mut v = Vec::new();
52 v
53 }
54 }
55 impl _serde::Serialize for hkbSimulationStateInfo {
56 fn serialize<S>(&self, __serializer: S) -> Result<S::Ok, S::Error>
57 where
58 S: _serde::ser::Serializer,
59 {
60 let class_meta = self
61 .__ptr
62 .map(|name| (name, _serde::__private::Signature::new(0xa40822b4)));
63 let mut serializer = __serializer
64 .serialize_struct("hkbSimulationStateInfo", class_meta, (12u64, 24u64))?;
65 serializer.pad_field([0u8; 4usize].as_slice(), [0u8; 8usize].as_slice())?;
66 serializer.skip_field("memSizeAndFlags", &self.parent.m_memSizeAndFlags)?;
67 serializer.skip_field("referenceCount", &self.parent.m_referenceCount)?;
68 serializer.pad_field([0u8; 0usize].as_slice(), [0u8; 4usize].as_slice())?;
69 serializer.serialize_field("simulationState", &self.m_simulationState)?;
70 serializer.pad_field([0u8; 3usize].as_slice(), [0u8; 7usize].as_slice())?;
71 serializer.end()
72 }
73 }
74};
75#[doc(hidden)]
76#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
77const _: () = {
78 use havok_serde as _serde;
79 #[automatically_derived]
80 impl<'de> _serde::Deserialize<'de> for hkbSimulationStateInfo {
81 fn deserialize<__D>(deserializer: __D) -> core::result::Result<Self, __D::Error>
82 where
83 __D: _serde::Deserializer<'de>,
84 {
85 #[allow(non_camel_case_types)]
86 enum __Field {
87 m_simulationState,
88 __ignore,
89 }
90 struct __FieldVisitor;
91 impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
92 type Value = __Field;
93 fn expecting(
94 &self,
95 __formatter: &mut core::fmt::Formatter,
96 ) -> core::fmt::Result {
97 core::fmt::Formatter::write_str(__formatter, "field identifier")
98 }
99 #[allow(clippy::match_single_binding)]
101 #[allow(clippy::reversed_empty_ranges)]
102 #[allow(clippy::single_match)]
103 fn visit_key<__E>(
104 self,
105 __value: &str,
106 ) -> core::result::Result<Self::Value, __E>
107 where
108 __E: _serde::de::Error,
109 {
110 match __value {
111 "simulationState" => Ok(__Field::m_simulationState),
112 _ => Ok(__Field::__ignore),
113 }
114 }
115 }
116 impl<'de> _serde::Deserialize<'de> for __Field {
117 #[inline]
118 fn deserialize<__D>(
119 __deserializer: __D,
120 ) -> core::result::Result<Self, __D::Error>
121 where
122 __D: _serde::Deserializer<'de>,
123 {
124 _serde::Deserializer::deserialize_key(__deserializer, __FieldVisitor)
125 }
126 }
127 struct __hkbSimulationStateInfoVisitor<'de> {
128 marker: _serde::__private::PhantomData<hkbSimulationStateInfo>,
129 lifetime: _serde::__private::PhantomData<&'de ()>,
130 }
131 #[allow(clippy::match_single_binding)]
132 #[allow(clippy::reversed_empty_ranges)]
133 #[allow(clippy::single_match)]
134 impl<'de> _serde::de::Visitor<'de> for __hkbSimulationStateInfoVisitor<'de> {
135 type Value = hkbSimulationStateInfo;
136 fn expecting(
137 &self,
138 __formatter: &mut core::fmt::Formatter,
139 ) -> core::fmt::Result {
140 core::fmt::Formatter::write_str(
141 __formatter,
142 "struct hkbSimulationStateInfo",
143 )
144 }
145 fn visit_struct_for_bytes<__A>(
146 self,
147 mut __map: __A,
148 ) -> _serde::__private::Result<Self::Value, __A::Error>
149 where
150 __A: _serde::de::MapAccess<'de>,
151 {
152 let __ptr = __A::class_ptr(&mut __map);
153 let parent = __A::parent_value(&mut __map)?;
154 let mut m_simulationState: _serde::__private::Option<
155 SimulationState,
156 > = _serde::__private::None;
157 for i in 0..1usize {
158 match i {
159 0usize => {
160 if _serde::__private::Option::is_some(&m_simulationState) {
161 return _serde::__private::Err(
162 <__A::Error as _serde::de::Error>::duplicate_field(
163 "simulationState",
164 ),
165 );
166 }
167 m_simulationState = _serde::__private::Some(
168 match __A::next_value::<SimulationState>(&mut __map) {
169 _serde::__private::Ok(__val) => __val,
170 _serde::__private::Err(__err) => {
171 return _serde::__private::Err(__err);
172 }
173 },
174 );
175 }
176 _ => {}
177 }
178 }
179 __A::pad(&mut __map, 3usize, 7usize)?;
180 let m_simulationState = match m_simulationState {
181 _serde::__private::Some(__field) => __field,
182 _serde::__private::None => {
183 return _serde::__private::Err(
184 <__A::Error as _serde::de::Error>::missing_field(
185 "simulationState",
186 ),
187 );
188 }
189 };
190 _serde::__private::Ok(hkbSimulationStateInfo {
191 __ptr,
192 parent,
193 m_simulationState,
194 })
195 }
196 #[allow(clippy::manual_unwrap_or_default)]
197 fn visit_struct<__A>(
198 self,
199 mut __map: __A,
200 ) -> _serde::__private::Result<Self::Value, __A::Error>
201 where
202 __A: _serde::de::MapAccess<'de>,
203 {
204 let mut m_simulationState: _serde::__private::Option<
205 SimulationState,
206 > = _serde::__private::None;
207 while let _serde::__private::Some(__key) = {
208 __A::next_key::<__Field>(&mut __map)?
209 } {
210 match __key {
211 __Field::m_simulationState => {
212 #[cfg(
213 any(feature = "strict", feature = "ignore_duplicates")
214 )]
215 if _serde::__private::Option::is_some(&m_simulationState) {
216 #[cfg(feature = "ignore_duplicates")]
217 {
218 __A::skip_value(&mut __map)?;
219 continue;
220 }
221 #[cfg(feature = "strict")]
222 return _serde::__private::Err(
223 <__A::Error as _serde::de::Error>::duplicate_field(
224 "simulationState",
225 ),
226 );
227 }
228 m_simulationState = _serde::__private::Some(
229 match __A::next_value::<SimulationState>(&mut __map) {
230 _serde::__private::Ok(__val) => __val,
231 _serde::__private::Err(__err) => {
232 return _serde::__private::Err(__err);
233 }
234 },
235 );
236 }
237 _ => __A::skip_value(&mut __map)?,
238 }
239 }
240 let m_simulationState = match m_simulationState {
241 _serde::__private::Some(__field) => __field,
242 _serde::__private::None => {
243 #[cfg(feature = "strict")]
244 return _serde::__private::Err(
245 <__A::Error as _serde::de::Error>::missing_field(
246 "simulationState",
247 ),
248 );
249 #[cfg(not(feature = "strict"))] Default::default()
250 }
251 };
252 let __ptr = None;
253 let parent = hkBaseObject { __ptr };
254 let parent = hkReferencedObject {
255 __ptr,
256 parent,
257 ..Default::default()
258 };
259 let __ptr = __A::class_ptr(&mut __map);
260 _serde::__private::Ok(hkbSimulationStateInfo {
261 __ptr,
262 parent,
263 m_simulationState,
264 })
265 }
266 }
267 const FIELDS: &[&str] = &["simulationState"];
268 _serde::Deserializer::deserialize_struct(
269 deserializer,
270 "hkbSimulationStateInfo",
271 FIELDS,
272 __hkbSimulationStateInfoVisitor {
273 marker: _serde::__private::PhantomData::<hkbSimulationStateInfo>,
274 lifetime: _serde::__private::PhantomData,
275 },
276 )
277 }
278 }
279};