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 hkpVehicleDriverInputAnalogStatus {
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: hkpVehicleDriverInputStatus,
30 #[cfg_attr(feature = "json_schema", schemars(rename = "positionX"))]
35 #[cfg_attr(feature = "serde", serde(rename = "positionX"))]
36 pub m_positionX: f32,
37 #[cfg_attr(feature = "json_schema", schemars(rename = "positionY"))]
42 #[cfg_attr(feature = "serde", serde(rename = "positionY"))]
43 pub m_positionY: f32,
44 #[cfg_attr(feature = "json_schema", schemars(rename = "handbrakeButtonPressed"))]
49 #[cfg_attr(feature = "serde", serde(rename = "handbrakeButtonPressed"))]
50 pub m_handbrakeButtonPressed: bool,
51 #[cfg_attr(feature = "json_schema", schemars(rename = "reverseButtonPressed"))]
56 #[cfg_attr(feature = "serde", serde(rename = "reverseButtonPressed"))]
57 pub m_reverseButtonPressed: bool,
58}
59const _: () = {
60 use havok_serde as _serde;
61 impl _serde::HavokClass for hkpVehicleDriverInputAnalogStatus {
62 #[inline]
63 fn name(&self) -> &'static str {
64 "hkpVehicleDriverInputAnalogStatus"
65 }
66 #[inline]
67 fn signature(&self) -> _serde::__private::Signature {
68 _serde::__private::Signature::new(0x2b4a5803)
69 }
70 #[allow(clippy::let_and_return, clippy::vec_init_then_push)]
71 fn deps_indexes(&self) -> Vec<usize> {
72 let mut v = Vec::new();
73 v
74 }
75 }
76 impl _serde::Serialize for hkpVehicleDriverInputAnalogStatus {
77 fn serialize<S>(&self, __serializer: S) -> Result<S::Ok, S::Error>
78 where
79 S: _serde::ser::Serializer,
80 {
81 let class_meta = self
82 .__ptr
83 .map(|name| (name, _serde::__private::Signature::new(0x2b4a5803)));
84 let mut serializer = __serializer
85 .serialize_struct(
86 "hkpVehicleDriverInputAnalogStatus",
87 class_meta,
88 (20u64, 32u64),
89 )?;
90 serializer.pad_field([0u8; 4usize].as_slice(), [0u8; 8usize].as_slice())?;
91 serializer
92 .skip_field("memSizeAndFlags", &self.parent.parent.m_memSizeAndFlags)?;
93 serializer
94 .skip_field("referenceCount", &self.parent.parent.m_referenceCount)?;
95 serializer.pad_field([0u8; 0usize].as_slice(), [0u8; 4usize].as_slice())?;
96 serializer.serialize_field("positionX", &self.m_positionX)?;
97 serializer.serialize_field("positionY", &self.m_positionY)?;
98 serializer
99 .serialize_field(
100 "handbrakeButtonPressed",
101 &self.m_handbrakeButtonPressed,
102 )?;
103 serializer
104 .serialize_field("reverseButtonPressed", &self.m_reverseButtonPressed)?;
105 serializer.pad_field([0u8; 2usize].as_slice(), [0u8; 6usize].as_slice())?;
106 serializer.end()
107 }
108 }
109};
110#[doc(hidden)]
111#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
112const _: () = {
113 use havok_serde as _serde;
114 #[automatically_derived]
115 impl<'de> _serde::Deserialize<'de> for hkpVehicleDriverInputAnalogStatus {
116 fn deserialize<__D>(deserializer: __D) -> core::result::Result<Self, __D::Error>
117 where
118 __D: _serde::Deserializer<'de>,
119 {
120 #[allow(non_camel_case_types)]
121 enum __Field {
122 m_positionX,
123 m_positionY,
124 m_handbrakeButtonPressed,
125 m_reverseButtonPressed,
126 __ignore,
127 }
128 struct __FieldVisitor;
129 impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
130 type Value = __Field;
131 fn expecting(
132 &self,
133 __formatter: &mut core::fmt::Formatter,
134 ) -> core::fmt::Result {
135 core::fmt::Formatter::write_str(__formatter, "field identifier")
136 }
137 #[allow(clippy::match_single_binding)]
139 #[allow(clippy::reversed_empty_ranges)]
140 #[allow(clippy::single_match)]
141 fn visit_key<__E>(
142 self,
143 __value: &str,
144 ) -> core::result::Result<Self::Value, __E>
145 where
146 __E: _serde::de::Error,
147 {
148 match __value {
149 "positionX" => Ok(__Field::m_positionX),
150 "positionY" => Ok(__Field::m_positionY),
151 "handbrakeButtonPressed" => Ok(__Field::m_handbrakeButtonPressed),
152 "reverseButtonPressed" => Ok(__Field::m_reverseButtonPressed),
153 _ => Ok(__Field::__ignore),
154 }
155 }
156 }
157 impl<'de> _serde::Deserialize<'de> for __Field {
158 #[inline]
159 fn deserialize<__D>(
160 __deserializer: __D,
161 ) -> core::result::Result<Self, __D::Error>
162 where
163 __D: _serde::Deserializer<'de>,
164 {
165 _serde::Deserializer::deserialize_key(__deserializer, __FieldVisitor)
166 }
167 }
168 struct __hkpVehicleDriverInputAnalogStatusVisitor<'de> {
169 marker: _serde::__private::PhantomData<
170 hkpVehicleDriverInputAnalogStatus,
171 >,
172 lifetime: _serde::__private::PhantomData<&'de ()>,
173 }
174 #[allow(clippy::match_single_binding)]
175 #[allow(clippy::reversed_empty_ranges)]
176 #[allow(clippy::single_match)]
177 impl<'de> _serde::de::Visitor<'de>
178 for __hkpVehicleDriverInputAnalogStatusVisitor<'de> {
179 type Value = hkpVehicleDriverInputAnalogStatus;
180 fn expecting(
181 &self,
182 __formatter: &mut core::fmt::Formatter,
183 ) -> core::fmt::Result {
184 core::fmt::Formatter::write_str(
185 __formatter,
186 "struct hkpVehicleDriverInputAnalogStatus",
187 )
188 }
189 fn visit_struct_for_bytes<__A>(
190 self,
191 mut __map: __A,
192 ) -> _serde::__private::Result<Self::Value, __A::Error>
193 where
194 __A: _serde::de::MapAccess<'de>,
195 {
196 let __ptr = __A::class_ptr(&mut __map);
197 let parent = __A::parent_value(&mut __map)?;
198 let mut m_positionX: _serde::__private::Option<f32> = _serde::__private::None;
199 let mut m_positionY: _serde::__private::Option<f32> = _serde::__private::None;
200 let mut m_handbrakeButtonPressed: _serde::__private::Option<bool> = _serde::__private::None;
201 let mut m_reverseButtonPressed: _serde::__private::Option<bool> = _serde::__private::None;
202 for i in 0..4usize {
203 match i {
204 0usize => {
205 if _serde::__private::Option::is_some(&m_positionX) {
206 return _serde::__private::Err(
207 <__A::Error as _serde::de::Error>::duplicate_field(
208 "positionX",
209 ),
210 );
211 }
212 m_positionX = _serde::__private::Some(
213 match __A::next_value::<f32>(&mut __map) {
214 _serde::__private::Ok(__val) => __val,
215 _serde::__private::Err(__err) => {
216 return _serde::__private::Err(__err);
217 }
218 },
219 );
220 }
221 1usize => {
222 if _serde::__private::Option::is_some(&m_positionY) {
223 return _serde::__private::Err(
224 <__A::Error as _serde::de::Error>::duplicate_field(
225 "positionY",
226 ),
227 );
228 }
229 m_positionY = _serde::__private::Some(
230 match __A::next_value::<f32>(&mut __map) {
231 _serde::__private::Ok(__val) => __val,
232 _serde::__private::Err(__err) => {
233 return _serde::__private::Err(__err);
234 }
235 },
236 );
237 }
238 2usize => {
239 if _serde::__private::Option::is_some(
240 &m_handbrakeButtonPressed,
241 ) {
242 return _serde::__private::Err(
243 <__A::Error as _serde::de::Error>::duplicate_field(
244 "handbrakeButtonPressed",
245 ),
246 );
247 }
248 m_handbrakeButtonPressed = _serde::__private::Some(
249 match __A::next_value::<bool>(&mut __map) {
250 _serde::__private::Ok(__val) => __val,
251 _serde::__private::Err(__err) => {
252 return _serde::__private::Err(__err);
253 }
254 },
255 );
256 }
257 3usize => {
258 if _serde::__private::Option::is_some(
259 &m_reverseButtonPressed,
260 ) {
261 return _serde::__private::Err(
262 <__A::Error as _serde::de::Error>::duplicate_field(
263 "reverseButtonPressed",
264 ),
265 );
266 }
267 m_reverseButtonPressed = _serde::__private::Some(
268 match __A::next_value::<bool>(&mut __map) {
269 _serde::__private::Ok(__val) => __val,
270 _serde::__private::Err(__err) => {
271 return _serde::__private::Err(__err);
272 }
273 },
274 );
275 }
276 _ => {}
277 }
278 }
279 __A::pad(&mut __map, 2usize, 6usize)?;
280 let m_positionX = match m_positionX {
281 _serde::__private::Some(__field) => __field,
282 _serde::__private::None => {
283 return _serde::__private::Err(
284 <__A::Error as _serde::de::Error>::missing_field(
285 "positionX",
286 ),
287 );
288 }
289 };
290 let m_positionY = match m_positionY {
291 _serde::__private::Some(__field) => __field,
292 _serde::__private::None => {
293 return _serde::__private::Err(
294 <__A::Error as _serde::de::Error>::missing_field(
295 "positionY",
296 ),
297 );
298 }
299 };
300 let m_handbrakeButtonPressed = match m_handbrakeButtonPressed {
301 _serde::__private::Some(__field) => __field,
302 _serde::__private::None => {
303 return _serde::__private::Err(
304 <__A::Error as _serde::de::Error>::missing_field(
305 "handbrakeButtonPressed",
306 ),
307 );
308 }
309 };
310 let m_reverseButtonPressed = match m_reverseButtonPressed {
311 _serde::__private::Some(__field) => __field,
312 _serde::__private::None => {
313 return _serde::__private::Err(
314 <__A::Error as _serde::de::Error>::missing_field(
315 "reverseButtonPressed",
316 ),
317 );
318 }
319 };
320 _serde::__private::Ok(hkpVehicleDriverInputAnalogStatus {
321 __ptr,
322 parent,
323 m_positionX,
324 m_positionY,
325 m_handbrakeButtonPressed,
326 m_reverseButtonPressed,
327 })
328 }
329 #[allow(clippy::manual_unwrap_or_default)]
330 fn visit_struct<__A>(
331 self,
332 mut __map: __A,
333 ) -> _serde::__private::Result<Self::Value, __A::Error>
334 where
335 __A: _serde::de::MapAccess<'de>,
336 {
337 let mut m_positionX: _serde::__private::Option<f32> = _serde::__private::None;
338 let mut m_positionY: _serde::__private::Option<f32> = _serde::__private::None;
339 let mut m_handbrakeButtonPressed: _serde::__private::Option<bool> = _serde::__private::None;
340 let mut m_reverseButtonPressed: _serde::__private::Option<bool> = _serde::__private::None;
341 while let _serde::__private::Some(__key) = {
342 __A::next_key::<__Field>(&mut __map)?
343 } {
344 match __key {
345 __Field::m_positionX => {
346 #[cfg(
347 any(feature = "strict", feature = "ignore_duplicates")
348 )]
349 if _serde::__private::Option::is_some(&m_positionX) {
350 #[cfg(feature = "ignore_duplicates")]
351 {
352 __A::skip_value(&mut __map)?;
353 continue;
354 }
355 #[cfg(feature = "strict")]
356 return _serde::__private::Err(
357 <__A::Error as _serde::de::Error>::duplicate_field(
358 "positionX",
359 ),
360 );
361 }
362 m_positionX = _serde::__private::Some(
363 match __A::next_value::<f32>(&mut __map) {
364 _serde::__private::Ok(__val) => __val,
365 _serde::__private::Err(__err) => {
366 return _serde::__private::Err(__err);
367 }
368 },
369 );
370 }
371 __Field::m_positionY => {
372 #[cfg(
373 any(feature = "strict", feature = "ignore_duplicates")
374 )]
375 if _serde::__private::Option::is_some(&m_positionY) {
376 #[cfg(feature = "ignore_duplicates")]
377 {
378 __A::skip_value(&mut __map)?;
379 continue;
380 }
381 #[cfg(feature = "strict")]
382 return _serde::__private::Err(
383 <__A::Error as _serde::de::Error>::duplicate_field(
384 "positionY",
385 ),
386 );
387 }
388 m_positionY = _serde::__private::Some(
389 match __A::next_value::<f32>(&mut __map) {
390 _serde::__private::Ok(__val) => __val,
391 _serde::__private::Err(__err) => {
392 return _serde::__private::Err(__err);
393 }
394 },
395 );
396 }
397 __Field::m_handbrakeButtonPressed => {
398 #[cfg(
399 any(feature = "strict", feature = "ignore_duplicates")
400 )]
401 if _serde::__private::Option::is_some(
402 &m_handbrakeButtonPressed,
403 ) {
404 #[cfg(feature = "ignore_duplicates")]
405 {
406 __A::skip_value(&mut __map)?;
407 continue;
408 }
409 #[cfg(feature = "strict")]
410 return _serde::__private::Err(
411 <__A::Error as _serde::de::Error>::duplicate_field(
412 "handbrakeButtonPressed",
413 ),
414 );
415 }
416 m_handbrakeButtonPressed = _serde::__private::Some(
417 match __A::next_value::<bool>(&mut __map) {
418 _serde::__private::Ok(__val) => __val,
419 _serde::__private::Err(__err) => {
420 return _serde::__private::Err(__err);
421 }
422 },
423 );
424 }
425 __Field::m_reverseButtonPressed => {
426 #[cfg(
427 any(feature = "strict", feature = "ignore_duplicates")
428 )]
429 if _serde::__private::Option::is_some(
430 &m_reverseButtonPressed,
431 ) {
432 #[cfg(feature = "ignore_duplicates")]
433 {
434 __A::skip_value(&mut __map)?;
435 continue;
436 }
437 #[cfg(feature = "strict")]
438 return _serde::__private::Err(
439 <__A::Error as _serde::de::Error>::duplicate_field(
440 "reverseButtonPressed",
441 ),
442 );
443 }
444 m_reverseButtonPressed = _serde::__private::Some(
445 match __A::next_value::<bool>(&mut __map) {
446 _serde::__private::Ok(__val) => __val,
447 _serde::__private::Err(__err) => {
448 return _serde::__private::Err(__err);
449 }
450 },
451 );
452 }
453 _ => __A::skip_value(&mut __map)?,
454 }
455 }
456 let m_positionX = match m_positionX {
457 _serde::__private::Some(__field) => __field,
458 _serde::__private::None => {
459 #[cfg(feature = "strict")]
460 return _serde::__private::Err(
461 <__A::Error as _serde::de::Error>::missing_field(
462 "positionX",
463 ),
464 );
465 #[cfg(not(feature = "strict"))] Default::default()
466 }
467 };
468 let m_positionY = match m_positionY {
469 _serde::__private::Some(__field) => __field,
470 _serde::__private::None => {
471 #[cfg(feature = "strict")]
472 return _serde::__private::Err(
473 <__A::Error as _serde::de::Error>::missing_field(
474 "positionY",
475 ),
476 );
477 #[cfg(not(feature = "strict"))] Default::default()
478 }
479 };
480 let m_handbrakeButtonPressed = match m_handbrakeButtonPressed {
481 _serde::__private::Some(__field) => __field,
482 _serde::__private::None => {
483 #[cfg(feature = "strict")]
484 return _serde::__private::Err(
485 <__A::Error as _serde::de::Error>::missing_field(
486 "handbrakeButtonPressed",
487 ),
488 );
489 #[cfg(not(feature = "strict"))] Default::default()
490 }
491 };
492 let m_reverseButtonPressed = match m_reverseButtonPressed {
493 _serde::__private::Some(__field) => __field,
494 _serde::__private::None => {
495 #[cfg(feature = "strict")]
496 return _serde::__private::Err(
497 <__A::Error as _serde::de::Error>::missing_field(
498 "reverseButtonPressed",
499 ),
500 );
501 #[cfg(not(feature = "strict"))] Default::default()
502 }
503 };
504 let __ptr = None;
505 let parent = hkBaseObject { __ptr };
506 let parent = hkReferencedObject {
507 __ptr,
508 parent,
509 ..Default::default()
510 };
511 let parent = hkpVehicleDriverInputStatus {
512 __ptr,
513 parent,
514 };
515 let __ptr = __A::class_ptr(&mut __map);
516 _serde::__private::Ok(hkpVehicleDriverInputAnalogStatus {
517 __ptr,
518 parent,
519 m_positionX,
520 m_positionY,
521 m_handbrakeButtonPressed,
522 m_reverseButtonPressed,
523 })
524 }
525 }
526 const FIELDS: &[&str] = &[
527 "positionX",
528 "positionY",
529 "handbrakeButtonPressed",
530 "reverseButtonPressed",
531 ];
532 _serde::Deserializer::deserialize_struct(
533 deserializer,
534 "hkpVehicleDriverInputAnalogStatus",
535 FIELDS,
536 __hkpVehicleDriverInputAnalogStatusVisitor {
537 marker: _serde::__private::PhantomData::<
538 hkpVehicleDriverInputAnalogStatus,
539 >,
540 lifetime: _serde::__private::PhantomData,
541 },
542 )
543 }
544 }
545};